feat(admin): 仪表盘 KPI 聚焦收费主链(套餐/订阅/平台订单)
This commit is contained in:
@@ -10,6 +10,7 @@ use App\Models\Product;
|
||||
use App\Models\Merchant;
|
||||
use App\Models\Plan;
|
||||
use App\Models\PlatformOrder;
|
||||
use App\Models\SiteSubscription;
|
||||
use App\Models\User;
|
||||
use App\Support\CacheKeys;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -35,6 +36,8 @@ class DashboardController extends Controller
|
||||
'orders' => Order::count(),
|
||||
|
||||
// 收费中心(平台侧)
|
||||
'plans' => Plan::count(),
|
||||
'site_subscriptions' => SiteSubscription::count(),
|
||||
'platform_orders' => PlatformOrder::count(),
|
||||
'platform_orders_unpaid_pending' => PlatformOrder::query()
|
||||
->where('payment_status', 'unpaid')
|
||||
|
||||
@@ -53,19 +53,19 @@
|
||||
<div class="stat-card-footnote">全站点数量(总台视角)</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="stat-card-title">管理员</div>
|
||||
<div class="stat-card-value">{{ $stats['admins'] }}</div>
|
||||
<div class="stat-card-footnote">平台/站点后台账号</div>
|
||||
<div class="stat-card-title">套餐</div>
|
||||
<div class="stat-card-value">{{ (int) ($stats['plans'] ?? 0) }}</div>
|
||||
<div class="stat-card-footnote">可售套餐目录</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="stat-card-title">用户</div>
|
||||
<div class="stat-card-value">{{ $stats['users'] }}</div>
|
||||
<div class="stat-card-footnote">买家端用户累计</div>
|
||||
<div class="stat-card-title">订阅</div>
|
||||
<div class="stat-card-value">{{ (int) ($stats['site_subscriptions'] ?? 0) }}</div>
|
||||
<div class="stat-card-footnote">站点订阅总量(收费主链)</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="stat-card-title">订单</div>
|
||||
<div class="stat-card-value">{{ $stats['orders'] }}</div>
|
||||
<div class="stat-card-footnote">站点订单累计(非平台订单)</div>
|
||||
<div class="stat-card-title">平台订单</div>
|
||||
<div class="stat-card-value">{{ (int) ($stats['platform_orders'] ?? 0) }}</div>
|
||||
<div class="stat-card-footnote">平台收费订单总量</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class AdminDashboardKpiShouldIncludeBillingChainStatsTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
protected function loginAsPlatformAdmin(): void
|
||||
{
|
||||
$this->seed();
|
||||
|
||||
$this->post('/admin/login', [
|
||||
'email' => 'platform.admin@demo.local',
|
||||
'password' => 'Platform@123456',
|
||||
])->assertRedirect('/admin');
|
||||
}
|
||||
|
||||
public function test_dashboard_kpi_should_include_billing_chain_stats(): void
|
||||
{
|
||||
$this->loginAsPlatformAdmin();
|
||||
|
||||
$res = $this->get('/admin');
|
||||
$res->assertOk();
|
||||
|
||||
// 收费主链 KPI:套餐/订阅/平台订单
|
||||
$res->assertSee('套餐');
|
||||
$res->assertSee('订阅');
|
||||
$res->assertSee('平台订单');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user