All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m24s
- 新增套餐系列管理 (CRUD + 状态切换) - 新增套餐管理 (CRUD + 启用/禁用 + 上架/下架双状态) - 清理 8 个废弃分佣模型及对应数据库表 - Package 模型新增建议成本价、建议售价、上架状态字段 - 完整的 Store/Service/Handler 三层实现 - 包含单元测试和集成测试 - 归档 add-package-module change - 新增多个 OpenSpec changes (订单支付、店铺套餐分配、一次性分佣、卡设备系列绑定)
71 lines
2.3 KiB
Markdown
71 lines
2.3 KiB
Markdown
## Why
|
||
|
||
Phase 3 完成了卡/设备的套餐系列关联,现在需要实现订单和支付流程。核心是"强充"机制:用户不能直接给钱包充值,必须通过购买套餐来充值。这样每笔充值都有对应的套餐购买记录,便于佣金计算和业务追踪。
|
||
|
||
## What Changes
|
||
|
||
**新增模型:**
|
||
- `Order`:订单模型,记录套餐购买信息
|
||
- `OrderItem`:订单明细(支持一个订单购买多个套餐)
|
||
|
||
**Order 核心字段:**
|
||
- 订单号、订单类型(单卡购买/设备购买)
|
||
- 买家信息(个人客户/代理店铺)
|
||
- 关联的卡/设备 ID
|
||
- 支付金额、支付状态、支付方式
|
||
- 佣金计算状态
|
||
|
||
**强充业务流程:**
|
||
1. 用户选择套餐,创建订单
|
||
2. 用户支付(微信/支付宝/钱包余额)
|
||
3. 支付成功后,套餐生效,流量额度增加
|
||
4. 触发佣金计算(Phase 5)
|
||
|
||
**新增 API:**
|
||
- 创建套餐购买订单
|
||
- 查询订单列表/详情
|
||
- 订单支付(钱包支付)
|
||
- 支付回调处理
|
||
- 取消订单
|
||
|
||
**业务规则:**
|
||
- 只能购买卡/设备关联的套餐系列下的套餐
|
||
- 只能购买已上架且启用的套餐
|
||
- 设备购买时,套餐分配给设备下所有卡(流量共享)
|
||
- 订单金额 = 套餐零售价(代理设置的售价)
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
|
||
- `order-management`: 订单管理 - 创建/查询/取消套餐购买订单
|
||
- `order-payment`: 订单支付 - 钱包支付、第三方支付回调处理
|
||
- `package-purchase-validation`: 套餐购买验证 - 验证卡/设备是否有权购买指定套餐
|
||
|
||
### Modified Capabilities
|
||
|
||
<!-- 无 -->
|
||
|
||
## Impact
|
||
|
||
**代码影响:**
|
||
- `internal/model/` - 新增 order.go(Order, OrderItem)
|
||
- `migrations/` - 创建 tb_order, tb_order_item 表
|
||
- `internal/handler/` - 新增订单 Handler(admin + app/h5)
|
||
- `internal/service/` - 新增订单 Service
|
||
- `internal/store/postgres/` - 新增订单 Store
|
||
- `internal/model/dto/` - 新增订单相关 DTO
|
||
|
||
**API 影响:**
|
||
- 新增 `/api/admin/orders/*` 后台订单管理
|
||
- 新增 `/api/h5/orders/*` H5 端订单操作
|
||
- 新增 `/api/app/orders/*` 个人客户订单操作
|
||
|
||
**数据库影响:**
|
||
- 新增表:`tb_order`, `tb_order_item`
|
||
|
||
**依赖关系:**
|
||
- 依赖 Phase 3(add-card-device-series-bindng)完成
|
||
- Phase 5(一次性佣金)依赖本期
|
||
- 依赖现有 Wallet 模型
|