Ken 4 дней назад
Родитель
Сommit
64432560f7
2 измененных файлов с 10 добавлено и 1 удалено
  1. 1 0
      app/Http/Controllers/admin/Backflow.php
  2. 9 1
      app/Services/BackflowService.php

+ 1 - 0
app/Http/Controllers/admin/Backflow.php

@@ -17,6 +17,7 @@ class Backflow extends Controller
                 'page' => ['required', 'integer', 'min:1'],
                 'limit' => ['required', 'integer', 'min:1'],
                 'member_id' => ['nullable', 'string'],
+                'date' => ['nullable', 'date_format:Y-m'],
             ]);
             $params['page'] = request()->input('page', 1);
             $params['limit'] = request()->input('limit', 10);

+ 9 - 1
app/Services/BackflowService.php

@@ -58,6 +58,9 @@ class BackflowService extends BaseService
             $where[] = ['member_id', '=', $search['member_id']];
         }
 
+        if (isset($search['date']) && !empty($search['date'])) {
+            $where[] = ['date', '=', $search['date']];
+        }
 
 
         if (isset($search['status']) && $search['status'] != '') {
@@ -69,8 +72,13 @@ class BackflowService extends BaseService
 
     public static function paginate(array $search = []): array
     {
+        $date = Carbon::now('Asia/Shanghai')->format('Y-m');
         $limit = isset($search['limit']) ? $search['limit'] : 15;
-        $paginator = self::$MODEL::where(self::getWhere($search))->paginate($limit);
+        $paginator = self::$MODEL::where(self::getWhere($search))
+            ->where('date', '<', $date)
+            ->orderByDesc('date')
+            ->orderBy('status')
+            ->paginate($limit);
         return ['total' => $paginator->total(), 'data' => $paginator->items()];
     }
 }