From 4f4518a780e1b7c2b8fce49f19bddd2d1adb3715 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Tue, 22 Mar 2022 10:51:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=B4=A5=E8=B4=B4=E6=B5=81?= =?UTF-8?q?=E6=B0=B4=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dealer/ManageSubsidyLogController.php | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) 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);