laowu 18 часов назад
Родитель
Сommit
c5bd787cc1
1 измененных файлов с 29 добавлено и 5 удалено
  1. 29 5
      app/Http/Controllers/Game/WithDrawInfoController.php

+ 29 - 5
app/Http/Controllers/Game/WithDrawInfoController.php

@@ -61,11 +61,35 @@ class WithDrawInfoController
 //            return apiReturnFail(['web.user.paypass_fail', 'A senha original está errada, digite-a novamente.'], '', 2);
 //        }
 
-        $list=DB::table('QPAccountsDB.dbo.OrderWithDraw')
-            ->where('UserID', $UserID)
-            ->selectRaw("CreateDate,OrderId,[State],WithDraw,ServiceFee,PixType")
-            ->orderBy('CreateDate', 'desc')
-            ->paginate(100);
+        $scoreType = intval($request->input('score_type', -1));
+        if (!in_array($scoreType, [-1, 0, 1], true)) {
+            return apiReturnFail(['web.withdraw.params_error', 'score_type must be -1, 0 or 1'], [], 422);
+        }
+        $sort = strtolower($request->input('sort', 'desc'));
+        $sort = in_array($sort, ['asc', 'desc']) ? $sort : 'desc';
+        $sortBy = strtolower($request->input('sort_by', 'createdate'));
+        $pageSize = intval($request->input('page_size', 10));
+        if ($pageSize <= 0) {
+            $pageSize = 100;
+        }
+
+        $query = DB::table('QPAccountsDB.dbo.OrderWithDraw')
+            ->where('UserID', $UserID);
+
+        if ($scoreType !== -1) {
+            $query->where('score_type', $scoreType);
+        }
+
+        $allowedSortColumns = [
+            'withdraw' => 'WithDraw',
+            'createdate' => 'CreateDate',
+        ];
+        $sortColumn = $allowedSortColumns[$sortBy] ?? 'CreateDate';
+
+        $list = $query
+            ->selectRaw("CreateDate,OrderId,[State],WithDraw,ServiceFee,PixType,score_type")
+            ->orderBy($sortColumn, $sort)
+            ->paginate($pageSize);
         return apiReturnSuc($list);
     }