diff --git a/app/Http/Controllers/Admin/PlatformOrderController.php b/app/Http/Controllers/Admin/PlatformOrderController.php index ad513f0..9e882a9 100644 --- a/app/Http/Controllers/Admin/PlatformOrderController.php +++ b/app/Http/Controllers/Admin/PlatformOrderController.php @@ -27,11 +27,23 @@ class PlatformOrderController extends Controller $merchants = Merchant::query()->orderBy('id')->get(['id', 'name']); $plans = Plan::query()->orderBy('sort')->orderByDesc('id')->get(); + // 支持从其它页面(例如订阅详情)带默认值跳转过来,提高运营效率 + $defaults = [ + 'merchant_id' => (int) $request->query('merchant_id', 0), + 'plan_id' => (int) $request->query('plan_id', 0), + 'order_type' => (string) $request->query('order_type', 'new_purchase'), + 'quantity' => (int) $request->query('quantity', 1), + 'discount_amount' => (float) $request->query('discount_amount', 0), + 'payment_channel' => (string) $request->query('payment_channel', ''), + 'remark' => (string) $request->query('remark', ''), + ]; + return view('admin.platform_orders.form', [ 'merchants' => $merchants, 'plans' => $plans, 'billingCycleLabels' => $this->billingCycleLabels(), 'orderTypeLabels' => $this->orderTypeLabels(), + 'defaults' => $defaults, ]); } diff --git a/resources/views/admin/platform_orders/form.blade.php b/resources/views/admin/platform_orders/form.blade.php index 1350833..5cb8ecb 100644 --- a/resources/views/admin/platform_orders/form.blade.php +++ b/resources/views/admin/platform_orders/form.blade.php @@ -17,7 +17,7 @@ 请选择站点 @foreach(($merchants ?? []) as $m) - id)>{{ $m->name }} + id)>{{ $m->name }} @endforeach @@ -27,7 +27,7 @@ 请选择套餐 @foreach(($plans ?? []) as $p) - id)> + id)> {{ $p->name }}({{ $billingCycleLabels[$p->billing_cycle] ?? $p->billing_cycle }} / ¥{{ number_format((float)$p->price, 2) }}) @endforeach @@ -39,31 +39,31 @@ 订单类型 @foreach(($orderTypeLabels ?? []) as $value => $label) - {{ $label }} + {{ $label }} @endforeach 购买数量(周期数) - + 例如:月付套餐 quantity=3 表示购买 3 个月;年付套餐 quantity=2 表示购买 2 年。 优惠金额(可选) - + 支付渠道(可选) - + 当前阶段仅用于记录口径,支付回执/对账后续再补。 备注(可选) - {{ old('remark') }} + {{ old('remark', $defaults['remark'] ?? '') }} diff --git a/resources/views/admin/site_subscriptions/show.blade.php b/resources/views/admin/site_subscriptions/show.blade.php index 22982cc..970fad8 100644 --- a/resources/views/admin/site_subscriptions/show.blade.php +++ b/resources/views/admin/site_subscriptions/show.blade.php @@ -73,6 +73,8 @@ 查看关联平台订单(按订阅ID精确过滤) | 查看可同步订单 + | + 创建续费订单 @endif diff --git a/tests/Feature/AdminSiteSubscriptionShowTest.php b/tests/Feature/AdminSiteSubscriptionShowTest.php index 48d1503..d9f8446 100644 --- a/tests/Feature/AdminSiteSubscriptionShowTest.php +++ b/tests/Feature/AdminSiteSubscriptionShowTest.php @@ -96,7 +96,8 @@ class AdminSiteSubscriptionShowTest extends TestCase ->assertSee('同步时间') ->assertSee('失败原因') ->assertSee('查看关联平台订单(按订阅ID精确过滤)') - ->assertSee('查看可同步订单'); + ->assertSee('查看可同步订单') + ->assertSee('/admin/platform-orders/create?merchant_id=' . $merchant->id . '&plan_id=' . $plan->id, false); } public function test_guest_cannot_open_site_subscription_show_page(): void