diff --git a/app/Endpoint/Api/Http/Controllers/Dealer/ManageSubsidyLogController.php b/app/Endpoint/Api/Http/Controllers/Dealer/ManageSubsidyLogController.php new file mode 100644 index 00000000..094ad82a --- /dev/null +++ b/app/Endpoint/Api/Http/Controllers/Dealer/ManageSubsidyLogController.php @@ -0,0 +1,44 @@ +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(); + } + + $perPage = Paginator::resolvePerPage('per_page', 20, 50); + + $manageSubsidyLogs = DealerManageSubsidyLog::with(['product']) + ->where('user_id', $request->user()->id) + ->where('order_completed_at', '>=', $startAt) + ->latest('order_completed_at') + ->simplePaginate($perPage); + + return DealerManageSubsidyLogResource::collection($manageSubsidyLogs); + } +} diff --git a/app/Endpoint/Api/Http/Resources/Dealer/DealerManageSubsidyLogResource.php b/app/Endpoint/Api/Http/Resources/Dealer/DealerManageSubsidyLogResource.php new file mode 100644 index 00000000..c49997a6 --- /dev/null +++ b/app/Endpoint/Api/Http/Resources/Dealer/DealerManageSubsidyLogResource.php @@ -0,0 +1,23 @@ + ProductSimpleResource::make($this->whenLoaded('product')), + 'sales_volume' => $this->sales_volume, + 'total_amount' => $this->total_amount, + ]; + } +} diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index 0a994d12..d1276b95 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -300,6 +300,8 @@ Route::group([ Route::get('purchase-subsidies', [Dealer\PurchaseSubsidyController::class, 'index']); // 进货补贴流水 Route::get('purchase-subsidies/{purchase_subsidy}/logs', [Dealer\PurchaseSubsidyLogController::class, 'index']); + // 管理津贴流水 + Route::get('manage-subsidy-logs', [Dealer\ManageSubsidyLogController::class, 'index']); // 云仓库 Route::get('delivery-bills', [Dealer\DealerDeliveryBillController::class, 'index']);