feat: dashboard merchant revenue rank top5 7d
This commit is contained in:
@@ -141,6 +141,27 @@ class DashboardController extends Controller
|
||||
|
||||
$planIdToName = Plan::query()->pluck('name', 'id')->all();
|
||||
|
||||
// 排行卡(最小可用):近 7 天站点收入排行 Top5(按已付金额)
|
||||
$merchantRevenueRank7d = PlatformOrder::query()
|
||||
->selectRaw('merchant_id, COUNT(*) as cnt')
|
||||
->selectRaw("SUM(CASE WHEN payment_status = 'paid' THEN paid_amount ELSE 0 END) as paid_sum")
|
||||
->whereBetween('created_at', [$trendStart, $trendEnd])
|
||||
->groupBy('merchant_id')
|
||||
->orderByDesc('paid_sum')
|
||||
->limit(5)
|
||||
->get()
|
||||
->map(function ($row) {
|
||||
return [
|
||||
'merchant_id' => (int) ($row->merchant_id ?? 0),
|
||||
'count' => (int) ($row->cnt ?? 0),
|
||||
'paid_sum' => (float) ($row->paid_sum ?? 0),
|
||||
];
|
||||
})
|
||||
->values()
|
||||
->all();
|
||||
|
||||
$merchantIdToName = Merchant::query()->pluck('name', 'id')->all();
|
||||
|
||||
return view('admin.dashboard', [
|
||||
'adminName' => $admin->name,
|
||||
'stats' => $stats,
|
||||
@@ -148,6 +169,8 @@ class DashboardController extends Controller
|
||||
'recentPlatformOrders' => $recentPlatformOrders,
|
||||
'planOrderShare' => $planOrderShare,
|
||||
'planIdToName' => $planIdToName,
|
||||
'merchantRevenueRank7d' => $merchantRevenueRank7d,
|
||||
'merchantIdToName' => $merchantIdToName,
|
||||
'platformAdmin' => $admin,
|
||||
'cacheMeta' => [
|
||||
'store' => config('cache.default'),
|
||||
|
||||
Reference in New Issue
Block a user