BlacklistController.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Account\UserBlacklist;
  5. use App\Models\AccountsInfo;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Validator;
  8. class BlacklistController extends Controller
  9. {
  10. public function index(Request $request)
  11. {
  12. $query = UserBlacklist::query()->with('accountsInfo', 'admin');
  13. if ($request->input('UserID')) {
  14. $query->where('UserID', $request->input('UserID'));
  15. }
  16. $list = $query->paginate(20);
  17. return view('admin.blacklist.index', [
  18. 'list' => $list,
  19. 'request' => $request,
  20. ]);
  21. }
  22. public function config($id, Request $request)
  23. {
  24. $blacklist = UserBlacklist::findOrFail($id);
  25. if ($request->method() == 'GET') {
  26. return view('admin.blacklist.config', [
  27. 'blacklist' => $blacklist,
  28. ]);
  29. }
  30. $validator = Validator::make($request->all(), [
  31. 'SameIP' => 'required|in:0,1',
  32. ]);
  33. $blacklist->SameIP = $request->input('SameIP', 0);
  34. $blacklist->save();
  35. return apiReturnSuc();
  36. }
  37. public function add($UserID)
  38. {
  39. $exists = UserBlacklist::find($UserID);
  40. if ($exists) {
  41. return apiReturnFail(__('messages.admin.blacklist.user_in_blacklist'));
  42. }
  43. $accountInfo = AccountsInfo::where('UserID', $UserID)->first();
  44. $blacklist = new UserBlacklist();
  45. $blacklist->UserID = $UserID;
  46. $blacklist->GameID = $accountInfo->GameID;
  47. /** @var mixed $admin */
  48. $admin = session('admin');
  49. $blacklist->AdminID = $admin->id;
  50. $blacklist->save();
  51. return apiReturnSuc();
  52. }
  53. public function remove($UserID)
  54. {
  55. $exists = UserBlacklist::where('UserID', $UserID)->first();
  56. if (!$exists) {
  57. return apiReturnFail(__('messages.admin.blacklist.user_not_in_blacklist'));
  58. }
  59. $exists->IsDel = 1;
  60. $exists->save();
  61. return apiReturnSuc();
  62. }
  63. public function history(Request $request)
  64. {
  65. $query = UserBlacklist::query();
  66. $query->withoutGlobalScope('soft_delete')->where('IsDel', 1);
  67. $list = $query->orderBy('ID', 'desc')
  68. ->paginate(20);
  69. return view('admin.blacklist.history', [
  70. 'list' => $list,
  71. 'request' => $request
  72. ]);
  73. }
  74. }