Skip to content

订单(Order) ​

这是什么 ​

Order 是所有付费行为的统一记录。无论是新订套餐、升级套餐还是差价补偿,都生成一条 Order。

订单号前缀:

  • TB — 新订套餐
  • UP — 套餐升级差价
  • TP — 充值订单(见 充值)

在哪里看到 ​

  • 前台 → 我的订单:当前用户所有订单及状态
  • 后台 → 订单:管理员视角,按状态 / 时间筛选
  • 支付回调:第三方支付完成后通过订单号回调入账

关键字段(运维视角) ​

字段含义设置后影响
order_no订单号TB / UP / TP 前缀 + 时间戳 + 随机;修改会导致支付回调失败
user_id所属用户关联到 User;删除用户级联删除订单
type类型新订 / 升级 / 充值;决定后续计费逻辑
plan_id关联套餐升级订单指向目标 Plan
subscription_id关联订阅套餐订单完成后激活的订阅
amount金额实付金额(¥)
status状态未支付 / 已支付 / 已取消 / 已退款
pay_method支付方式微信 / 支付宝 / 银行 / Mock;决定走哪个回调接口

订单生命周期 ​

未支付 → (用户支付) → 已支付 → (系统激活订阅 / 充值) → 完成
       ↘ (用户取消 / 超时) → 已取消

激活套餐的逻辑 ​

订单「已支付」回调成功后,系统会:

  1. 创建 / 续期一条 Subscription
  2. 如是升级订单:把旧订阅的剩余额度按比例折算到新订阅

订单与套餐的激活是异步的,回调成功后几秒内生效。

退款 ​

后台「订单」详情页可发起退款。退款会:

  1. 标记订单为「已退款」
  2. 把关联的订阅标记为「已取消」
  3. 已用额度不退还(按「已消费」处理)

相关页面 ​

相关 API ​

  • POST /api/order/plan — 用户创建套餐订单
  • GET /api/order/self — 当前用户的订单
  • GET /api/order/ — 列表(管理员)
  • PUT /api/order/:id — 标记已支付(管理员)
  • DELETE /api/order/:id — 删除(Root)