From 8e0384c83305f75995c81285a6c94c7e497c99be Mon Sep 17 00:00:00 2001 From: xboard Date: Fri, 29 Aug 2025 19:19:08 +0800 Subject: [PATCH] feat: optimize server.user.get hook definition --- .../Controllers/V1/Server/ShadowsocksTidalabController.php | 2 +- app/Http/Controllers/V1/Server/TrojanTidalabController.php | 2 +- app/Http/Controllers/V1/Server/UniProxyController.php | 2 +- app/Services/ServerService.php | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php b/app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php index 8b9d27d..71f62e1 100644 --- a/app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php +++ b/app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php @@ -23,7 +23,7 @@ class ShadowsocksTidalabController extends Controller ini_set('memory_limit', -1); $server = $request->input('node_info'); Cache::put(CacheKey::get('SERVER_SHADOWSOCKS_LAST_CHECK_AT', $server->id), time(), 3600); - $users = ServerService::getAvailableUsers($server->group_ids); + $users = ServerService::getAvailableUsers($server); $result = []; foreach ($users as $user) { array_push($result, [ diff --git a/app/Http/Controllers/V1/Server/TrojanTidalabController.php b/app/Http/Controllers/V1/Server/TrojanTidalabController.php index 14124b1..64ef193 100644 --- a/app/Http/Controllers/V1/Server/TrojanTidalabController.php +++ b/app/Http/Controllers/V1/Server/TrojanTidalabController.php @@ -28,7 +28,7 @@ class TrojanTidalabController extends Controller return $this->fail([400, '节点不存在']); } Cache::put(CacheKey::get('SERVER_TROJAN_LAST_CHECK_AT', $server->id), time(), 3600); - $users = ServerService::getAvailableUsers($server->group_id); + $users = ServerService::getAvailableUsers($server); $result = []; foreach ($users as $user) { $user->trojan_user = [ diff --git a/app/Http/Controllers/V1/Server/UniProxyController.php b/app/Http/Controllers/V1/Server/UniProxyController.php index 57b7e3a..aff91f3 100644 --- a/app/Http/Controllers/V1/Server/UniProxyController.php +++ b/app/Http/Controllers/V1/Server/UniProxyController.php @@ -35,7 +35,7 @@ class UniProxyController extends Controller $nodeType = $node->type; $nodeId = $node->id; Cache::put(CacheKey::get('SERVER_' . strtoupper($nodeType) . '_LAST_CHECK_AT', $nodeId), time(), 3600); - $users = ServerService::getAvailableUsers($node->group_ids); + $users = ServerService::getAvailableUsers($node); $response['users'] = $users; diff --git a/app/Services/ServerService.php b/app/Services/ServerService.php index f1066b0..058934c 100644 --- a/app/Services/ServerService.php +++ b/app/Services/ServerService.php @@ -65,10 +65,10 @@ class ServerService * @param array $groupIds * @return Collection */ - public static function getAvailableUsers(array $groupIds) + public static function getAvailableUsers(Server $node) { $users = User::toBase() - ->whereIn('group_id', $groupIds) + ->whereIn('group_id', $node->group_ids) ->whereRaw('u + d < transfer_enable') ->where(function ($query) { $query->where('expired_at', '>=', time()) @@ -82,7 +82,7 @@ class ServerService 'device_limit' ]) ->get(); - return HookManager::filter('server.users.get', $users, $groupIds); + return HookManager::filter('server.users.get', $users, $node); } // 获取路由规则