## 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 模型