input('group_id')) { return response([ 'data' => [ServerGroup::find($request->input('group_id'))] ]); } $serverGroups = ServerGroup::get(); $serverService = new ServerService(); $servers = $serverService->getAllServers(); foreach ($serverGroups as $k => $v) { $serverGroups[$k]['user_count'] = User::where('group_id', $v['id'])->count(); $serverGroups[$k]['server_count'] = 0; foreach ($servers as $server) { if (in_array($v['id'], $server['group_id'])) { $serverGroups[$k]['server_count'] = $serverGroups[$k]['server_count']+1; } } } return response([ 'data' => $serverGroups ]); } public function save(Request $request) { if (empty($request->input('name'))) { abort(500, '组名不能为空'); } if ($request->input('id')) { $serverGroup = ServerGroup::find($request->input('id')); } else { $serverGroup = new ServerGroup(); } $serverGroup->name = $request->input('name'); return response([ 'data' => $serverGroup->save() ]); } public function drop(Request $request) { if ($request->input('id')) { $serverGroup = ServerGroup::find($request->input('id')); if (!$serverGroup) { abort(500, '组不存在'); } } $servers = ServerV2ray::all(); foreach ($servers as $server) { if (in_array($request->input('id'), $server->group_id)) { abort(500, '该组已被节点所使用,无法删除'); } } if (Plan::where('group_id', $request->input('id'))->first()) { abort(500, '该组已被订阅所使用,无法删除'); } if (User::where('group_id', $request->input('id'))->first()) { abort(500, '该组已被用户所使用,无法删除'); } return response([ 'data' => $serverGroup->delete() ]); } }