feat: optimize server.user.get hook definition
This commit is contained in:
@@ -23,7 +23,7 @@ class ShadowsocksTidalabController extends Controller
|
|||||||
ini_set('memory_limit', -1);
|
ini_set('memory_limit', -1);
|
||||||
$server = $request->input('node_info');
|
$server = $request->input('node_info');
|
||||||
Cache::put(CacheKey::get('SERVER_SHADOWSOCKS_LAST_CHECK_AT', $server->id), time(), 3600);
|
Cache::put(CacheKey::get('SERVER_SHADOWSOCKS_LAST_CHECK_AT', $server->id), time(), 3600);
|
||||||
$users = ServerService::getAvailableUsers($server->group_ids);
|
$users = ServerService::getAvailableUsers($server);
|
||||||
$result = [];
|
$result = [];
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
array_push($result, [
|
array_push($result, [
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class TrojanTidalabController extends Controller
|
|||||||
return $this->fail([400, '节点不存在']);
|
return $this->fail([400, '节点不存在']);
|
||||||
}
|
}
|
||||||
Cache::put(CacheKey::get('SERVER_TROJAN_LAST_CHECK_AT', $server->id), time(), 3600);
|
Cache::put(CacheKey::get('SERVER_TROJAN_LAST_CHECK_AT', $server->id), time(), 3600);
|
||||||
$users = ServerService::getAvailableUsers($server->group_id);
|
$users = ServerService::getAvailableUsers($server);
|
||||||
$result = [];
|
$result = [];
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
$user->trojan_user = [
|
$user->trojan_user = [
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class UniProxyController extends Controller
|
|||||||
$nodeType = $node->type;
|
$nodeType = $node->type;
|
||||||
$nodeId = $node->id;
|
$nodeId = $node->id;
|
||||||
Cache::put(CacheKey::get('SERVER_' . strtoupper($nodeType) . '_LAST_CHECK_AT', $nodeId), time(), 3600);
|
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;
|
$response['users'] = $users;
|
||||||
|
|
||||||
|
|||||||
@@ -65,10 +65,10 @@ class ServerService
|
|||||||
* @param array $groupIds
|
* @param array $groupIds
|
||||||
* @return Collection
|
* @return Collection
|
||||||
*/
|
*/
|
||||||
public static function getAvailableUsers(array $groupIds)
|
public static function getAvailableUsers(Server $node)
|
||||||
{
|
{
|
||||||
$users = User::toBase()
|
$users = User::toBase()
|
||||||
->whereIn('group_id', $groupIds)
|
->whereIn('group_id', $node->group_ids)
|
||||||
->whereRaw('u + d < transfer_enable')
|
->whereRaw('u + d < transfer_enable')
|
||||||
->where(function ($query) {
|
->where(function ($query) {
|
||||||
$query->where('expired_at', '>=', time())
|
$query->where('expired_at', '>=', time())
|
||||||
@@ -82,7 +82,7 @@ class ServerService
|
|||||||
'device_limit'
|
'device_limit'
|
||||||
])
|
])
|
||||||
->get();
|
->get();
|
||||||
return HookManager::filter('server.users.get', $users, $groupIds);
|
return HookManager::filter('server.users.get', $users, $node);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取路由规则
|
// 获取路由规则
|
||||||
|
|||||||
Reference in New Issue
Block a user