StatController.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Http\Controllers\User;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\StatUser;
  5. use App\Services\StatisticalService;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\DB;
  8. class StatController extends Controller
  9. {
  10. public function getTrafficLog(Request $request)
  11. {
  12. $statService = new StatisticalService();
  13. $statService->setStartAt(strtotime(date('Y-m-d')));
  14. $statService->setUserStats();
  15. $stats = StatUser::select([
  16. 'u',
  17. 'd',
  18. 'record_at',
  19. 'user_id',
  20. 'server_rate'
  21. ])
  22. ->where('user_id', $request->user['id'])
  23. ->where('record_at', '>=', strtotime(date('Y-m-1')))
  24. ->orderBy('record_at', 'DESC')
  25. ->get()
  26. ->toArray();
  27. $stats = array_merge($stats, $statService->getStatUserByUserID($request->user['id']));
  28. usort($stats, function ($a, $b) {
  29. return $b['record_at'] - $a['record_at'];
  30. });
  31. return response([
  32. 'data' => $stats
  33. ]);
  34. }
  35. }