diff --git a/app/Http/Controllers/Admin/DashboardController.php b/app/Http/Controllers/Admin/DashboardController.php index 295c3b5..4952f02 100644 --- a/app/Http/Controllers/Admin/DashboardController.php +++ b/app/Http/Controllers/Admin/DashboardController.php @@ -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'), diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php index ae1c02a..e66aeeb 100644 --- a/resources/views/admin/dashboard.blade.php +++ b/resources/views/admin/dashboard.blade.php @@ -114,9 +114,49 @@
| 站点 | +订单数 | +已付金额 | +
|---|---|---|
| {{ $mname }} | +{{ (int) ($row['count'] ?? 0) }} | +¥{{ number_format((float) ($row['paid_sum'] ?? 0), 2) }} | +
| 暂无数据 | +||