From 98b12205f77b652e9a2e05c598f8a6d512c7d3d9 Mon Sep 17 00:00:00 2001 From: tokumeikoi Date: Sat, 5 Mar 2022 00:27:43 +0800 Subject: [PATCH] update: server/getServerLog to stat/getTrafficLog --- app/Console/Commands/ResetServerLog.php | 44 -------------- app/Console/Kernel.php | 1 - .../Controllers/User/ServerController.php | 18 ------ app/Http/Controllers/User/StatController.php | 29 ++++++++++ app/Http/Controllers/User/UserController.php | 2 - app/Http/Routes/UserRoute.php | 3 +- app/Jobs/ServerLogJob.php | 58 ------------------- app/Services/UserService.php | 1 - config/horizon.php | 1 - database/install.sql | 21 +------ 10 files changed, 32 insertions(+), 146 deletions(-) delete mode 100644 app/Console/Commands/ResetServerLog.php create mode 100644 app/Http/Controllers/User/StatController.php delete mode 100644 app/Jobs/ServerLogJob.php diff --git a/app/Console/Commands/ResetServerLog.php b/app/Console/Commands/ResetServerLog.php deleted file mode 100644 index d69f006d..00000000 --- a/app/Console/Commands/ResetServerLog.php +++ /dev/null @@ -1,44 +0,0 @@ -command('check:ticket')->everyMinute(); // reset $schedule->command('reset:traffic')->daily(); - $schedule->command('reset:serverLog')->quarterly()->at('0:15'); // send $schedule->command('send:remindMail')->dailyAt('11:30'); // horizon metrics diff --git a/app/Http/Controllers/User/ServerController.php b/app/Http/Controllers/User/ServerController.php index ffd49f11..a4f42627 100644 --- a/app/Http/Controllers/User/ServerController.php +++ b/app/Http/Controllers/User/ServerController.php @@ -30,22 +30,4 @@ class ServerController extends Controller 'data' => $servers ]); } - - public function getServerLogs(Request $request) - { - $serverLogModel = ServerLog::select([ - DB::raw('sum(u) as u'), - DB::raw('sum(d) as d'), - 'log_at', - 'user_id', - 'rate' - ]) - ->where('user_id', $request->session()->get('id')) - ->where('log_at', '>=', strtotime(date('Y-m-1'))) - ->groupBy('log_at', 'user_id', 'rate') - ->orderBy('log_at', 'DESC'); - return response([ - 'data' => $serverLogModel->get() - ]); - } } diff --git a/app/Http/Controllers/User/StatController.php b/app/Http/Controllers/User/StatController.php new file mode 100644 index 00000000..64dbb892 --- /dev/null +++ b/app/Http/Controllers/User/StatController.php @@ -0,0 +1,29 @@ +where('user_id', $request->session()->get('id')) + ->where('record_at', '>=', strtotime(date('Y-m-1'))) + ->groupBy('record_at', 'user_id', 'server_rate') + ->orderBy('record_at', 'DESC'); + return response([ + 'data' => $builder->get() + ]); + } +} diff --git a/app/Http/Controllers/User/UserController.php b/app/Http/Controllers/User/UserController.php index 08cf6afc..4470f56e 100755 --- a/app/Http/Controllers/User/UserController.php +++ b/app/Http/Controllers/User/UserController.php @@ -10,11 +10,9 @@ use App\Utils\CacheKey; use Illuminate\Http\Request; use App\Models\User; use App\Models\Plan; -use App\Models\ServerV2ray; use App\Models\Ticket; use App\Utils\Helper; use App\Models\Order; -use App\Models\ServerLog; use Illuminate\Support\Facades\Cache; class UserController extends Controller diff --git a/app/Http/Routes/UserRoute.php b/app/Http/Routes/UserRoute.php index 97c89813..180e88a9 100644 --- a/app/Http/Routes/UserRoute.php +++ b/app/Http/Routes/UserRoute.php @@ -48,7 +48,6 @@ class UserRoute $router->post('/ticket/withdraw', 'User\\TicketController@withdraw'); // Server $router->get ('/server/fetch', 'User\\ServerController@fetch'); - $router->get ('/server/getServerLogs', 'User\\ServerController@getServerLogs'); // Coupon $router->post('/coupon/check', 'User\\CouponController@check'); // Telegram @@ -59,6 +58,8 @@ class UserRoute // Knowledge $router->get ('/knowledge/fetch', 'User\\KnowledgeController@fetch'); $router->get ('/knowledge/getCategory', 'User\\KnowledgeController@getCategory'); + // Stat + $router->get ('/stat/getTrafficLog', 'User\\StatController@getTrafficLog'); }); } } diff --git a/app/Jobs/ServerLogJob.php b/app/Jobs/ServerLogJob.php deleted file mode 100644 index 4792b588..00000000 --- a/app/Jobs/ServerLogJob.php +++ /dev/null @@ -1,58 +0,0 @@ -onQueue('server_log'); - $this->u = $u; - $this->d = $d; - $this->userId = $userId; - $this->server = $server; - $this->protocol = $protocol; - } - - /** - * Execute the job. - * - * @return void - */ - public function handle() - { - $serverService = new ServerService(); - if (!$serverService->log( - $this->userId, - $this->server->id, - $this->u, - $this->d, - $this->server->rate, - $this->protocol - )) { - throw new \Exception('日志记录失败'); - } - } -} diff --git a/app/Services/UserService.php b/app/Services/UserService.php index 94e9e23e..aa5097e6 100644 --- a/app/Services/UserService.php +++ b/app/Services/UserService.php @@ -87,7 +87,6 @@ class UserService public function trafficFetch(int $u, int $d, int $userId, object $server, string $protocol) { TrafficFetchJob::dispatch($u, $d, $userId, $server, $protocol); - ServerLogJob::dispatch($u, $d, $userId, $server, $protocol); StatServerJob::dispatch($u, $d, $server, $protocol, 'd'); StatUserJob::dispatch($u, $d, $userId, $server, $protocol, 'd'); } diff --git a/config/horizon.php b/config/horizon.php index 06e7894c..1d81c00d 100644 --- a/config/horizon.php +++ b/config/horizon.php @@ -176,7 +176,6 @@ return [ 'order_handle', 'traffic_fetch', 'stat', - 'server_log', 'send_email', 'send_email_mass', 'send_telegram', diff --git a/database/install.sql b/database/install.sql index c45c1a29..70e8511b 100644 --- a/database/install.sql +++ b/database/install.sql @@ -188,25 +188,6 @@ CREATE TABLE `v2_server_group` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -DROP TABLE IF EXISTS `v2_server_log`; -CREATE TABLE `v2_server_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, - `u` varchar(255) NOT NULL, - `d` varchar(255) NOT NULL, - `rate` decimal(10,2) NOT NULL, - `method` varchar(255) NOT NULL, - `log_at` int(11) NOT NULL, - `created_at` int(11) NOT NULL, - `updated_at` int(11) NOT NULL, - PRIMARY KEY (`id`), - KEY `log_at` (`log_at`), - KEY `user_id` (`user_id`), - KEY `server_id` (`server_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - - DROP TABLE IF EXISTS `v2_server_shadowsocks`; CREATE TABLE `v2_server_shadowsocks` ( `id` int(11) NOT NULL AUTO_INCREMENT, @@ -393,4 +374,4 @@ CREATE TABLE `v2_user` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- 2022-02-25 09:10:24 +-- 2022-03-04 16:25:43