diff --git a/app/Endpoint/Api/Http/Controllers/Dealer/ManageSubsidyLogController.php b/app/Endpoint/Api/Http/Controllers/Dealer/ManageSubsidyLogController.php index 094ad82a..2423786b 100644 --- a/app/Endpoint/Api/Http/Controllers/Dealer/ManageSubsidyLogController.php +++ b/app/Endpoint/Api/Http/Controllers/Dealer/ManageSubsidyLogController.php @@ -18,25 +18,30 @@ class ManageSubsidyLogController extends Controller */ public function index(Request $request) { - $tz = now(); - - if ($tz->day >= 20) { - // 结算当月20号开始的管理津贴 - $startAt = $tz->copy()->setDay(20)->startOfDay(); - } elseif ($tz->day >= 5) { - // 结算当月5号开始的管理津贴 - $startAt = $tz->copy()->setDay(5)->startOfDay(); - } else { - // 结算上月20号开始的管理津贴 - $startAt = $tz->copy()->subMonthNoOverflow()->setDay(20)->startOfDay(); - } + $isComplted = (bool) $request->input('is_completed'); $perPage = Paginator::resolvePerPage('per_page', 20, 50); $manageSubsidyLogs = DealerManageSubsidyLog::with(['product']) + ->when($isComplted, function ($query) { + $tz = now(); + + if ($tz->day >= 20) { + // 结算当月20号开始的管理津贴 + $startAt = $tz->copy()->setDay(20)->startOfDay(); + } elseif ($tz->day >= 5) { + // 结算当月5号开始的管理津贴 + $startAt = $tz->copy()->setDay(5)->startOfDay(); + } else { + // 结算上月20号开始的管理津贴 + $startAt = $tz->copy()->subMonthNoOverflow()->setDay(20)->startOfDay(); + } + + $query->where('order_completed_at', '>=', $startAt)->latest('order_completed_at'); + }, function ($query) { + $query->whereNull('order_completed_at')->latest('id'); + }) ->where('user_id', $request->user()->id) - ->where('order_completed_at', '>=', $startAt) - ->latest('order_completed_at') ->simplePaginate($perPage); return DealerManageSubsidyLogResource::collection($manageSubsidyLogs);