From 4773c2a8c78dc14ccb4180b81637f40c05affdb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=9D=E5=8D=9C?= Date: Sun, 15 Mar 2026 01:29:09 +0000 Subject: [PATCH] PlatformOrder show: render order_type label with code --- .../Admin/PlatformOrderController.php | 2 + .../admin/platform_orders/show.blade.php | 5 +- ...minPlatformOrderShowOrderTypeLabelTest.php | 63 +++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 tests/Feature/AdminPlatformOrderShowOrderTypeLabelTest.php diff --git a/app/Http/Controllers/Admin/PlatformOrderController.php b/app/Http/Controllers/Admin/PlatformOrderController.php index 8cd4d03..7adb810 100644 --- a/app/Http/Controllers/Admin/PlatformOrderController.php +++ b/app/Http/Controllers/Admin/PlatformOrderController.php @@ -335,6 +335,7 @@ class PlatformOrderController extends Controller ->values(), 'statusLabels' => $this->statusLabels(), 'paymentStatusLabels' => $this->paymentStatusLabels(), + 'orderTypeLabels' => $this->orderTypeLabels(), 'summaryStats' => [ 'total_orders' => (clone $baseQuery)->count(), 'paid_orders' => (clone $baseQuery)->where('payment_status', 'paid')->count(), @@ -461,6 +462,7 @@ class PlatformOrderController extends Controller 'order' => $order, 'statusLabels' => $this->statusLabels(), 'paymentStatusLabels' => $this->paymentStatusLabels(), + 'orderTypeLabels' => $this->orderTypeLabels(), ]); } diff --git a/resources/views/admin/platform_orders/show.blade.php b/resources/views/admin/platform_orders/show.blade.php index 9fab62f..e130f0e 100644 --- a/resources/views/admin/platform_orders/show.blade.php +++ b/resources/views/admin/platform_orders/show.blade.php @@ -92,7 +92,10 @@ @endif - 订单类型{{ $order->order_type }} + + 订单类型 + {{ $orderTypeLabels[$order->order_type] ?? $order->order_type }} ({{ $order->order_type }}) + 订单状态{{ $statusLabels[$order->status] ?? $order->status }} ({{ $order->status }}) 支付状态{{ $paymentStatusLabels[$order->payment_status] ?? $order->payment_status }} ({{ $order->payment_status }}) 应付/已付¥{{ number_format((float) $order->payable_amount, 2) }} / ¥{{ number_format((float) $order->paid_amount, 2) }} diff --git a/tests/Feature/AdminPlatformOrderShowOrderTypeLabelTest.php b/tests/Feature/AdminPlatformOrderShowOrderTypeLabelTest.php new file mode 100644 index 0000000..18b302f --- /dev/null +++ b/tests/Feature/AdminPlatformOrderShowOrderTypeLabelTest.php @@ -0,0 +1,63 @@ +seed(); + + $this->post('/admin/login', [ + 'email' => 'platform.admin@demo.local', + 'password' => 'Platform@123456', + ])->assertRedirect('/admin'); + } + + public function test_show_should_render_order_type_label_and_code(): void + { + $this->loginAsPlatformAdmin(); + + $merchant = Merchant::query()->firstOrFail(); + $plan = Plan::query()->create([ + 'code' => 'po_show_type_label_plan', + 'name' => '订单类型展示测试套餐', + 'billing_cycle' => 'monthly', + 'price' => 10, + 'list_price' => 10, + 'status' => 'active', + 'sort' => 10, + 'published_at' => now(), + ]); + + $order = PlatformOrder::query()->create([ + 'merchant_id' => $merchant->id, + 'plan_id' => $plan->id, + 'order_no' => 'PO_SHOW_TYPE_0001', + 'order_type' => 'new_purchase', + 'status' => 'pending', + 'payment_status' => 'unpaid', + 'plan_name' => $plan->name, + 'billing_cycle' => $plan->billing_cycle, + 'period_months' => 1, + 'quantity' => 1, + 'payable_amount' => 10, + 'paid_amount' => 0, + 'placed_at' => now(), + ]); + + $this->get('/admin/platform-orders/' . $order->id) + ->assertOk() + ->assertSee('订单类型') + ->assertSee('新购', false) + ->assertSee('(new_purchase)', false); + } +}