diff --git a/app/Http/Controllers/Admin/DashboardController.php b/app/Http/Controllers/Admin/DashboardController.php index 3a3bded..59b11d8 100644 --- a/app/Http/Controllers/Admin/DashboardController.php +++ b/app/Http/Controllers/Admin/DashboardController.php @@ -8,6 +8,7 @@ use App\Models\Admin; use App\Models\Order; use App\Models\Product; use App\Models\Merchant; +use App\Models\PlatformOrder; use App\Models\User; use App\Support\CacheKeys; use Illuminate\Http\Request; @@ -31,14 +32,37 @@ class DashboardController extends Controller 'users' => User::count(), 'products' => Product::count(), 'orders' => Order::count(), + + // 收费中心(平台侧) + 'platform_orders' => PlatformOrder::count(), + 'platform_orders_unpaid_pending' => PlatformOrder::query() + ->where('payment_status', 'unpaid') + ->where('status', 'pending') + ->count(), + 'platform_orders_paid_pending' => PlatformOrder::query() + ->where('payment_status', 'paid') + ->where('status', 'pending') + ->count(), + // 同步失败:沿用平台订单列表口径(meta.subscription_activation_error.message 存在即失败) + 'platform_orders_sync_failed' => PlatformOrder::query() + ->whereRaw("JSON_EXTRACT(meta, '$.subscription_activation_error.message') IS NOT NULL") + ->count(), + + // 站点治理 'active_merchants' => Merchant::query()->where('status', 'active')->count(), 'pending_orders' => Order::query()->where('status', 'pending')->count(), ] ); + $recentPlatformOrders = PlatformOrder::query() + ->orderByDesc('id') + ->limit(5) + ->get(); + return view('admin.dashboard', [ 'adminName' => $admin->name, 'stats' => $stats, + 'recentPlatformOrders' => $recentPlatformOrders, 'platformAdmin' => $admin, 'cacheMeta' => [ 'store' => config('cache.default'), diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php index aed2809..7e6abcb 100644 --- a/resources/views/admin/dashboard.blade.php +++ b/resources/views/admin/dashboard.blade.php @@ -112,9 +112,42 @@
| 订单号 | +类型 | +金额 | +支付 | +状态 | +
|---|---|---|---|---|
| {{ $po->order_no }} | +{{ $po->orderTypeLabel() }} | +¥{{ number_format((float) $po->payable_amount, 2) }} | +{{ $po->payment_status }} | +{{ $po->status }} | +
| 暂无数据 | +||||