refactor(dashboard): inject 7d range from controller to avoid drift

This commit is contained in:
萝卜
2026-03-17 04:24:10 +08:00
parent 842eeb3e39
commit 583854bd35
2 changed files with 9 additions and 3 deletions

View File

@@ -164,6 +164,10 @@ class DashboardController extends Controller
$trendStart = now()->startOfDay()->subDays($trendDays - 1); $trendStart = now()->startOfDay()->subDays($trendDays - 1);
$trendEnd = now()->endOfDay(); $trendEnd = now()->endOfDay();
// 统一提供给视图做“趋势/排行/占比”跳转的日期范围口径,避免 Blade 内重复 now() 计算导致漂移。
$dashboardRangeFrom7d = (string) $trendStart->format('Y-m-d');
$dashboardRangeTo7d = (string) $trendEnd->format('Y-m-d');
$trendRawRows = PlatformOrder::query() $trendRawRows = PlatformOrder::query()
->selectRaw("DATE(created_at) as d") ->selectRaw("DATE(created_at) as d")
->selectRaw('COUNT(*) as cnt') ->selectRaw('COUNT(*) as cnt')
@@ -265,6 +269,8 @@ class DashboardController extends Controller
'stats' => $stats, 'stats' => $stats,
'platformOrderTrend7d' => $platformOrderTrend7d, 'platformOrderTrend7d' => $platformOrderTrend7d,
'recentPlatformOrders' => $recentPlatformOrders, 'recentPlatformOrders' => $recentPlatformOrders,
'dashboardRangeFrom7d' => $dashboardRangeFrom7d,
'dashboardRangeTo7d' => $dashboardRangeTo7d,
'planOrderShare' => $planOrderShare, 'planOrderShare' => $planOrderShare,
'planOrderShareTotal' => (int) $planOrderShareTotal, 'planOrderShareTotal' => (int) $planOrderShareTotal,
'planIdToName' => $planIdToName, 'planIdToName' => $planIdToName,

View File

@@ -15,9 +15,9 @@
'plans' => \App\Support\BackUrl::withBack('/admin/plans', $selfWithoutBack), 'plans' => \App\Support\BackUrl::withBack('/admin/plans', $selfWithoutBack),
]; ];
// 仪表盘内所有“近7天”口径统一在这里计算,避免散落 now()->subDays(6) 导致未来改动遗漏 // 仪表盘内所有“近7天”口径统一从 Controller 注入(避免 Blade 内 now() 计算导致跨天漂移)
$rangeFrom7d = now()->subDays(6)->format('Y-m-d'); $rangeFrom7d = (string) ($dashboardRangeFrom7d ?? now()->subDays(6)->format('Y-m-d'));
$rangeTo7d = now()->format('Y-m-d'); $rangeTo7d = (string) ($dashboardRangeTo7d ?? now()->format('Y-m-d'));
$platformOrdersQuickLinks = [ $platformOrdersQuickLinks = [
// 复用工作台入口(避免 /admin/platform-orders 入口口径分叉) // 复用工作台入口(避免 /admin/platform-orders 入口口径分叉)