From df99fb00ed957a2f8c0620319e7c37b788dac00c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=9D=E5=8D=9C?= Date: Tue, 17 Mar 2026 06:43:58 +0800 Subject: [PATCH] =?UTF-8?q?refactor(platform-orders):=20created=5Fat=20?= =?UTF-8?q?=E5=BF=AB=E6=8D=B7=E6=97=A5=E6=9C=9F=E8=8C=83=E5=9B=B4=E7=94=B1?= =?UTF-8?q?=20controller=20=E6=B3=A8=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/PlatformOrderController.php | 13 +++++++++++++ .../views/admin/platform_orders/index.blade.php | 7 ++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Admin/PlatformOrderController.php b/app/Http/Controllers/Admin/PlatformOrderController.php index 42eb59a..1cf4f26 100644 --- a/app/Http/Controllers/Admin/PlatformOrderController.php +++ b/app/Http/Controllers/Admin/PlatformOrderController.php @@ -367,6 +367,14 @@ class PlatformOrderController extends Controller $totalPayableAmount = (float) ((clone $baseQuery)->sum('payable_amount') ?: 0); $totalPaidAmount = (float) ((clone $baseQuery)->sum('paid_amount') ?: 0); + // created_at 快捷入口日期范围:由 Controller 统一注入,避免 Blade 内多次 now() 调用跨天漂移。 + $baseToday = now(); + $createdRangeToday = $baseToday->format('Y-m-d'); + // 近7天:包含今天共 7 天,因此 from = today - 6 days + $createdRangeFrom7d = $baseToday->copy()->subDays(6)->format('Y-m-d'); + // 近30天:包含今天共 30 天,因此 from = today - 29 days + $createdRangeFrom30d = $baseToday->copy()->subDays(29)->format('Y-m-d'); + return view('admin.platform_orders.index', [ 'currentSubscription' => $currentSubscription, 'orders' => $orders, @@ -397,6 +405,11 @@ class PlatformOrderController extends Controller 'paymentStatusLabels' => $this->paymentStatusLabels(), // order_type label 映射已下沉到 PlatformOrder::orderTypeLabel();这里不再透传 orderTypeLabels // 'orderTypeLabels' => $this->orderTypeLabels(), + // created_at 快捷入口日期范围 + 'createdRangeToday' => $createdRangeToday, + 'createdRangeFrom7d' => $createdRangeFrom7d, + 'createdRangeFrom30d' => $createdRangeFrom30d, + 'summaryStats' => [ 'total_orders' => (clone $baseQuery)->count(), 'paid_orders' => (clone $baseQuery)->where('payment_status', 'paid')->count(), diff --git a/resources/views/admin/platform_orders/index.blade.php b/resources/views/admin/platform_orders/index.blade.php index a589174..af6d1b2 100644 --- a/resources/views/admin/platform_orders/index.blade.php +++ b/resources/views/admin/platform_orders/index.blade.php @@ -411,9 +411,10 @@ @php // 运营提效:常用时间范围快捷入口(保持 query/back 安全口径;不依赖 JS)。 - $today = now()->format('Y-m-d'); - $from7d = now()->subDays(6)->format('Y-m-d'); - $from30d = now()->subDays(29)->format('Y-m-d'); + // 日期范围由 Controller 注入,避免 Blade 内多次 now() 调用跨天漂移。 + $today = (string) ($createdRangeToday ?? now()->format('Y-m-d')); + $from7d = (string) ($createdRangeFrom7d ?? now()->subDays(6)->format('Y-m-d')); + $from30d = (string) ($createdRangeFrom30d ?? now()->subDays(29)->format('Y-m-d')); $createdRangeTodayUrl = $safeFullUrlWithQuery([ 'created_from' => $today,