Files
yinjianm c64badfc23 feat(admin-frontend): 补齐活跃筛选与支付快照能力
新增用户管理“活跃状态”高级筛选,并在后端支持
activity_status 复合规则,支持按活跃与非活跃筛选用户。

补齐订单支付成功快照落库与后台展示,保存支付渠道、
支付方法、实付金额和支付 IP,并在订单详情中优先展示。

同时增强节点页在线/离线筛选与批量删除、仪表盘快捷入口,
并修复已关闭工单再次回复后自动重开的统一语义。

附带同步测试、迁移、CI 工作流命名及知识库记录
2026-04-25 00:59:08 +08:00

1.8 KiB

order-payment

职责

  • 负责订单支付成功后的支付快照保存,包括支付渠道、支付方法、实付金额与支付 IP
  • 维护第三方支付回调到订单支付完成的元信息透传链路
  • 为后台订单详情提供可追溯的支付成功信息,而不是只依赖当前支付配置

行为规范

  • app/Http/Controllers/V1/Guest/PaymentController.php 负责接收第三方支付回调,并把验签通过后的支付元信息传入 OrderService::paid()
  • OrderService::paid() 会在订单转为 开通中 之前写入支付快照;若第三方字段缺失,则回退到当前 payment 关联信息
  • payment_amount 统一按“分”存储,前端继续复用订单金额格式化链路展示
  • 后台 app/Http/Controllers/V2/Admin/OrderController.php 的详情接口必须加载 payment 关联,供旧订单或人工标记支付时做展示回退
  • plugins/TokenPay/Plugin.php 当前会优先从回调中提取 Id / OutOrderId / ActualAmount / IP / Method 等字段;缺失时允许只返回基础单号,不得阻断支付成功链路

依赖关系

  • 依赖 app/Models/Order.phpapp/Models/Payment.php 提供订单和支付配置模型
  • 依赖 app/Services/OrderService.php 执行支付成功状态转换与快照落库
  • 依赖 plugins/TokenPay/Plugin.php 提供第三方支付回调字段映射
  • 依赖 admin-frontend/src/views/subscriptions/OrderDetailDrawer.vuesrc/utils/orders.ts 展示后台支付成功信息

已知限制

  • 当前工作区缺少 PHP 运行时与 vendor,本地无法直接运行 Laravel / PHPUnit 验证,只能完成代码级检查与前端构建验证
  • 历史订单不会自动补写新增支付快照字段,仅对本次改动上线后的新支付成功订单逐步生效