From c3358aa69287d82413ced3d3c102aba47c9a640e Mon Sep 17 00:00:00 2001 From: Eridanus Sora Date: Fri, 27 Oct 2017 16:16:35 +0800 Subject: [PATCH] team search --- app/Http/Controllers/TeamController.php | 27 +++++++++++++++++++++++-- config/jwt.php | 2 +- routes/web.php | 1 + 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/TeamController.php b/app/Http/Controllers/TeamController.php index aa37367..d137cff 100644 --- a/app/Http/Controllers/TeamController.php +++ b/app/Http/Controllers/TeamController.php @@ -170,6 +170,28 @@ public function publicListTeams(Request $request) } } + public function search(Request $request) + { + $validator = \Validator::make($request->only('keyword'), [ + 'keyword' => 'required' + ], [ + 'keyword.required' => '缺少关键词字段' + ]); + + if ($validator->fails()) { + return APIReturn::error('invalid_parameters', $validator->errors()->all(), 400); + } + + try{ + $keyword = $request->input('keyword'); + $teams = Team::where('team_name', 'like', "%$keyword%")->get(); + return APIReturn::success($teams); + } + catch (\Exception $e){ + return APIReturn::error("database_error", "数据库读写错误", 500); + } + } + /** * 封禁队伍 * @param Request $request @@ -188,6 +210,7 @@ public function banTeam(Request $request) if ($validator->fails()) { return APIReturn::error('invalid_parameters', $validator->errors()->all(), 400); } + try { Team::where('team_id', $request->input('teamId'))->update([ 'banned' => true @@ -301,8 +324,8 @@ public function getRanking(Request $request) 'email', 'admin', 'banned', 'created_at', 'updated_at', 'lastLoginTime', 'signUpTime', 'flag', 'category_id', 'level_id', 'challenge_id', 'log_id', 'score', 'token' ]); - $result = $result->filter(function($team){ - return $team->dynamic_total_score != 0; + $result = $result->filter(function ($team) { + return $team->dynamic_total_score != 0; }); return APIReturn::success($result); diff --git a/config/jwt.php b/config/jwt.php index 3bc03be..bac2366 100644 --- a/config/jwt.php +++ b/config/jwt.php @@ -33,7 +33,7 @@ | */ - 'ttl' => 10, + 'ttl' => 60, /* |-------------------------------------------------------------------------- diff --git a/routes/web.php b/routes/web.php index 0dae93d..8c421ac 100644 --- a/routes/web.php +++ b/routes/web.php @@ -27,6 +27,7 @@ Route::group(['middleware' => ['jwt.auth.mod', 'AdminCheck']], function () { Route::get('list', 'TeamController@listTeams'); + Route::get('search', 'TeamController@search'); Route::post('ban', 'TeamController@banTeam'); Route::post('unban', 'TeamController@unbanTeam'); Route::post('setAdmin', 'TeamController@setAdmin');