Bläddra i källkod

报名比赛列表可按照 球场筛选

phperli 3 år sedan
förälder
incheckning
2385196996
3 ändrade filer med 53 tillägg och 3 borttagningar
  1. 4 2
      app/Http/Controllers/V1/GameController.php
  2. 17 1
      app/Services/Api/GameService.php
  3. 32 0
      public/request.log

+ 4 - 2
app/Http/Controllers/V1/GameController.php

xqd
@@ -539,12 +539,14 @@ class GameController extends Controller
     }
 
     /**
+     * @param Request $request
      * @return \Illuminate\Http\JsonResponse
      * 所有待进行的比赛, 筛除已加入的比赛、用户创建的、已达到比赛人数上限的 比赛
      */
-    public function notBegin()
+    public function notBegin(Request $request)
     {
-        $list = $this->GameService->getNotBeginGames();
+        $keyword = $request->input('keyword', '');
+        $list = $this->GameService->getNotBeginGames($keyword);
 
         return $this->success($list);
     }

+ 17 - 1
app/Services/Api/GameService.php

xqd xqd
@@ -467,12 +467,25 @@ class GameService
     }
 
     //待进行 比赛 (不包含用户已加入和创建的比赛)
-    public function getNotBeginGames()
+    public function getNotBeginGames($keyword)
     {
+        $courseIds = [];
+        if($keyword = trim($keyword)){
+            $keyword = htmlspecialchars($keyword);
+            $courseIds = Course::query()
+                ->where('name', 'like', '%'.$keyword.'%')
+                ->whereNull('deleted_at')
+                ->pluck('id');
+            if($courseIds->isNotEmpty()){
+                $courseIds = $courseIds->toArray();
+            }
+        }
+
         //我相关的未开始比赛
         $myGameIds = GameUser::query()
             ->leftJoin('games', 'games.id', '=', 'game_users.game_id')
             ->where('user_id', $this->user->id)
+            ->where('type', 1)
             ->where('game_users.status', 1)
             ->where('begin_time', '>', Carbon::now())
             ->whereNull('game_users.deleted_at')
@@ -488,6 +501,9 @@ class GameService
             ->where('begin_time', '>', Carbon::now())
             ->whereColumn('scale', '>', 'members')
             ->whereNotIn('id', $myGameIds)
+            ->when($courseIds, function ($query, $courseIds){
+                $query->whereIn('course_id', $courseIds);
+            })
             ->orderBy('begin_time', 'asc')
             ->pluck('id')
             ->toArray();

+ 32 - 0
public/request.log

xqd
@@ -1181,3 +1181,35 @@
 2022-06-24 18:06:24---language-handle-
 2022-06-24 18:06:58---language-handle-
 2022-06-24 18:07:16---language-handle-
+2022-06-27 10:31:49---language-handle-
+2022-06-27 10:31:52---language-handle-
+2022-06-27 10:31:53---language-handle-
+2022-06-27 10:31:53---language-handle-
+2022-06-27 10:31:53---language-handle-
+2022-06-27 10:31:54---language-handle-
+2022-06-27 10:31:54---language-handle-
+2022-06-27 10:31:54---language-handle-
+2022-06-27 10:31:54---language-handle-
+2022-06-27 10:31:54---language-handle-
+2022-06-27 10:31:59---language-handle-
+2022-06-27 10:32:12---language-handle-
+2022-06-27 10:32:15---language-handle-
+2022-06-27 10:32:21---language-handle-
+2022-06-27 10:32:25---language-handle-
+2022-06-27 10:32:31---language-handle-
+2022-06-27 10:32:45---language-handle-
+2022-06-27 10:33:35---language-handle-
+2022-06-27 10:33:39---language-handle-
+2022-06-27 10:33:43---language-handle-
+2022-06-27 10:33:45---language-handle-
+2022-06-27 10:33:59---language-handle-
+2022-06-27 15:28:39---language-handle-
+2022-06-27 15:32:45---language-handle-
+2022-06-27 15:33:38---language-handle-
+2022-06-27 15:34:31---language-handle-
+2022-06-27 15:34:59---language-handle-
+2022-06-27 15:38:09---language-handle-
+2022-06-27 15:45:42---language-handle-
+2022-06-27 15:46:51---language-handle-
+2022-06-27 15:47:10---language-handle-
+2022-06-27 15:47:17---language-handle-