From 10bf65a5f9647c30a89b6446f2809c7f34c8632c Mon Sep 17 00:00:00 2001 From: tokumeikoi Date: Sun, 21 Aug 2022 17:18:24 +0800 Subject: [PATCH] update: stat user view api --- app/Http/Controllers/Admin/StatController.php | 19 +++++++++++++++++++ app/Http/Routes/AdminRoute.php | 1 + 2 files changed, 20 insertions(+) diff --git a/app/Http/Controllers/Admin/StatController.php b/app/Http/Controllers/Admin/StatController.php index 81e0f6db..be5c11f8 100644 --- a/app/Http/Controllers/Admin/StatController.php +++ b/app/Http/Controllers/Admin/StatController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin; use App\Models\ServerShadowsocks; use App\Models\ServerTrojan; +use App\Models\StatUser; use App\Services\ServerService; use Illuminate\Http\Request; use App\Http\Controllers\Controller; @@ -123,5 +124,23 @@ class StatController extends Controller 'data' => $statistics ]); } + + public function getStatUser(Request $request) + { + $request->validate([ + 'user_id' => 'required|integer' + ]); + $current = $request->input('current') ? $request->input('current') : 1; + $pageSize = $request->input('pageSize') >= 10 ? $request->input('pageSize') : 10; + $builder = StatUser::orderBy('record_at', 'DESC')->where('user_id', $request->input('user_id')); + + $total = $builder->count(); + $records = $builder->forPage($current, $pageSize) + ->get(); + return [ + 'data' => $records, + 'total' => $total + ]; + } } diff --git a/app/Http/Routes/AdminRoute.php b/app/Http/Routes/AdminRoute.php index 1b118dcd..f472b127 100644 --- a/app/Http/Routes/AdminRoute.php +++ b/app/Http/Routes/AdminRoute.php @@ -82,6 +82,7 @@ class AdminRoute $router->get ('/stat/getOverride', 'Admin\\StatController@getOverride'); $router->get ('/stat/getServerLastRank', 'Admin\\StatController@getServerLastRank'); $router->get ('/stat/getOrder', 'Admin\\StatController@getOrder'); + $router->get ('/stat/getStatUser', 'Admin\\StatController@getStatUser'); // Notice $router->get ('/notice/fetch', 'Admin\\NoticeController@fetch'); $router->post('/notice/save', 'Admin\\NoticeController@save');