ServerController.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Http\Controllers\User;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\ServerService;
  5. use App\Services\UserService;
  6. use App\Utils\CacheKey;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Cache;
  9. use App\Models\Server;
  10. use App\Models\ServerLog;
  11. use App\Models\User;
  12. use App\Utils\Helper;
  13. class ServerController extends Controller
  14. {
  15. public function fetch(Request $request)
  16. {
  17. $user = User::find($request->session()->get('id'));
  18. $servers = [];
  19. $userService = new UserService();
  20. if ($userService->isAvailable($user)) {
  21. $serverService = new ServerService();
  22. $servers = $serverService->getAvailableServers($user);
  23. }
  24. return response([
  25. 'data' => $servers
  26. ]);
  27. }
  28. public function logFetch(Request $request)
  29. {
  30. $type = $request->input('type') ? $request->input('type') : 0;
  31. $current = $request->input('current') ? $request->input('current') : 1;
  32. $pageSize = $request->input('pageSize') >= 10 ? $request->input('pageSize') : 10;
  33. $serverLogModel = ServerLog::where('user_id', $request->session()->get('id'))
  34. ->orderBy('created_at', 'DESC');
  35. switch ($type) {
  36. case 0:
  37. $serverLogModel->where('created_at', '>=', strtotime(date('Y-m-d')));
  38. break;
  39. case 1:
  40. $serverLogModel->where('created_at', '>=', strtotime(date('Y-m-d')) - 604800);
  41. break;
  42. case 2:
  43. $serverLogModel->where('created_at', '>=', strtotime(date('Y-m-1')));
  44. }
  45. $total = $serverLogModel->count();
  46. $res = $serverLogModel->forPage($current, $pageSize)
  47. ->get();
  48. return response([
  49. 'data' => $res,
  50. 'total' => $total
  51. ]);
  52. }
  53. }