refactor(dashboard): centralize 7d range + merchant/plan links
This commit is contained in:
@@ -15,6 +15,10 @@
|
|||||||
'plans' => \App\Support\BackUrl::withBack('/admin/plans', $selfWithoutBack),
|
'plans' => \App\Support\BackUrl::withBack('/admin/plans', $selfWithoutBack),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// 仪表盘内所有“近7天”口径统一在这里计算,避免散落 now()->subDays(6) 导致未来改动遗漏。
|
||||||
|
$rangeFrom7d = now()->subDays(6)->format('Y-m-d');
|
||||||
|
$rangeTo7d = now()->format('Y-m-d');
|
||||||
|
|
||||||
$platformOrdersQuickLinks = [
|
$platformOrdersQuickLinks = [
|
||||||
// 复用工作台入口(避免 /admin/platform-orders 入口口径分叉)
|
// 复用工作台入口(避免 /admin/platform-orders 入口口径分叉)
|
||||||
'platform_orders' => $billingEntryLinks['platform_orders'],
|
'platform_orders' => $billingEntryLinks['platform_orders'],
|
||||||
@@ -30,6 +34,31 @@
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 站点收入排行:已付订单集合(merchant_id + payment_status=paid + 日期范围)
|
||||||
|
'merchant_paid_orders_range' => function (int $merchantId, string $from, string $to) use ($selfWithoutBack): string {
|
||||||
|
return \App\Support\BackUrl::withBack(
|
||||||
|
'/admin/platform-orders?' . \Illuminate\Support\Arr::query([
|
||||||
|
'merchant_id' => $merchantId,
|
||||||
|
'payment_status' => 'paid',
|
||||||
|
'created_from' => $from,
|
||||||
|
'created_to' => $to,
|
||||||
|
]),
|
||||||
|
$selfWithoutBack
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 套餐订单占比:按套餐筛选 + 日期范围(用于 Top5 表格链接,同时被 JS 复用为 mini chart 点击入口)
|
||||||
|
'plan_orders_range' => function (int $planId, string $from, string $to) use ($selfWithoutBack): string {
|
||||||
|
return \App\Support\BackUrl::withBack(
|
||||||
|
'/admin/platform-orders?' . \Illuminate\Support\Arr::query([
|
||||||
|
'plan_id' => $planId,
|
||||||
|
'created_from' => $from,
|
||||||
|
'created_to' => $to,
|
||||||
|
]),
|
||||||
|
$selfWithoutBack
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
// 平台订单(收费闭环)工作台入口:尽量保持与列表页筛选语义一致。
|
// 平台订单(收费闭环)工作台入口:尽量保持与列表页筛选语义一致。
|
||||||
'unpaid_pending' => \App\Support\BackUrl::withBack('/admin/platform-orders?payment_status=unpaid&status=pending', $selfWithoutBack),
|
'unpaid_pending' => \App\Support\BackUrl::withBack('/admin/platform-orders?payment_status=unpaid&status=pending', $selfWithoutBack),
|
||||||
// 待生效:paid + pending,并显式锁定 sync_status=unsynced(排除同步失败等异常单)
|
// 待生效:paid + pending,并显式锁定 sync_status=unsynced(排除同步失败等异常单)
|
||||||
@@ -241,15 +270,7 @@
|
|||||||
@php
|
@php
|
||||||
$mid = (int) ($row['merchant_id'] ?? 0);
|
$mid = (int) ($row['merchant_id'] ?? 0);
|
||||||
$mname = (string) (($merchantIdToName[$mid] ?? '') ?: ('#' . $mid));
|
$mname = (string) (($merchantIdToName[$mid] ?? '') ?: ('#' . $mid));
|
||||||
$merchantOrdersUrl = \App\Support\BackUrl::withBack(
|
$merchantOrdersUrl = ($platformOrdersQuickLinks['merchant_paid_orders_range'])($mid, $rangeFrom7d, $rangeTo7d);
|
||||||
'/admin/platform-orders?' . \Illuminate\Support\Arr::query([
|
|
||||||
'merchant_id' => $mid,
|
|
||||||
'payment_status' => 'paid',
|
|
||||||
'created_from' => now()->subDays(6)->format('Y-m-d'),
|
|
||||||
'created_to' => now()->format('Y-m-d'),
|
|
||||||
]),
|
|
||||||
$selfWithoutBack
|
|
||||||
);
|
|
||||||
@endphp
|
@endphp
|
||||||
<tr>
|
<tr>
|
||||||
<td><a class="link" href="{!! $merchantOrdersUrl !!}">{{ $mname }}</a></td>
|
<td><a class="link" href="{!! $merchantOrdersUrl !!}">{{ $mname }}</a></td>
|
||||||
@@ -761,14 +782,7 @@
|
|||||||
$planName = (string) (($planIdToName[$planId] ?? '') ?: ('#' . $planId));
|
$planName = (string) (($planIdToName[$planId] ?? '') ?: ('#' . $planId));
|
||||||
@endphp
|
@endphp
|
||||||
@php
|
@php
|
||||||
$planOrdersUrl = \App\Support\BackUrl::withBack(
|
$planOrdersUrl = ($platformOrdersQuickLinks['plan_orders_range'])($planId, $rangeFrom7d, $rangeTo7d);
|
||||||
'/admin/platform-orders?' . \Illuminate\Support\Arr::query([
|
|
||||||
'plan_id' => $planId,
|
|
||||||
'created_from' => now()->subDays(6)->format('Y-m-d'),
|
|
||||||
'created_to' => now()->format('Y-m-d'),
|
|
||||||
]),
|
|
||||||
$selfWithoutBack
|
|
||||||
);
|
|
||||||
@endphp
|
@endphp
|
||||||
<tr>
|
<tr>
|
||||||
<td><a class="link" href="{!! $planOrdersUrl !!}">{{ $planName }}</a></td>
|
<td><a class="link" href="{!! $planOrdersUrl !!}">{{ $planName }}</a></td>
|
||||||
|
|||||||
Reference in New Issue
Block a user