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 (订单支付、店铺套餐分配、一次性分佣、卡设备系列绑定)
3.1 KiB
3.1 KiB
Why
当前分佣模型过于复杂(包含冻结/解冻审批、组合分佣、号卡结算等),而流量卡业务只需要简单的一次性佣金。现有的 AgentPackageAllocation 模型也不支持套餐系列级别的分配和梯度佣金配置。需要清理废弃模型,调整 Package 模型支持建议价格和上架状态,并提供完整的套餐/套餐系列 CRUD API。
What Changes
模型清理(commission.go):
- BREAKING 删除
AgentHierarchy- 代理层级通过Shop.parent_id维护 - BREAKING 删除
CommissionRule- 过于复杂,后续用新模型替代 - BREAKING 删除
CommissionLadder- 后续用ShopSeriesCommissionTier替代 - BREAKING 删除
CommissionCombinedCondition- 流量卡不需要组合分佣 - BREAKING 删除
CommissionApproval- 不需要冻结/解冻审批流程 - BREAKING 删除
CommissionTemplate- 简化后不需要模板 - BREAKING 删除
CarrierSettlement- 号卡专用,本期不做
模型清理(package.go):
- BREAKING 删除
AgentPackageAllocation- 用新的分配模型替代
Package 模型调整:
- 新增
suggested_cost_price字段(建议成本价,分为单位) - 新增
suggested_retail_price字段(建议售价,分为单位) - 新增
shelf_status字段(上架状态:1-上架 2-下架)
新增 API:
- 套餐系列 CRUD(创建、更新、删除、列表、详情、启用/禁用)
- 套餐 CRUD(创建、更新、删除、列表、详情、启用/禁用、上架/下架)
Capabilities
New Capabilities
package-series-management: 套餐系列管理 - 创建/更新/删除/列表/详情,支持启用/禁用状态切换package-management: 套餐管理 - 创建/更新/删除/列表/详情,支持启用/禁用和上架/下架双状态管理
Modified Capabilities
Impact
代码影响:
internal/model/commission.go- 删除 7 个模型internal/model/package.go- 删除 1 个模型,修改 Package 模型migrations/- 需要创建迁移文件删除废弃表、修改 package 表internal/handler/admin/- 新增套餐系列和套餐管理 Handlerinternal/service/- 新增套餐系列和套餐管理 Serviceinternal/store/postgres/- 新增套餐系列和套餐 Storeinternal/model/dto/- 新增请求/响应 DTOinternal/bootstrap/- 注册新的 Store/Service/Handlerinternal/router/- 注册新的 API 路由cmd/api/docs.go和cmd/gendocs/main.go- 更新文档生成器
API 影响:
- 新增
/api/admin/package-series/*路由组 - 新增
/api/admin/packages/*路由组
数据库影响:
- 删除表:
tb_agent_hierarchy,tb_commission_rule,tb_commission_ladder,tb_commission_combined_condition,tb_commission_approval,tb_commission_template,tb_carrier_settlement,tb_agent_package_allocation - 修改表:
tb_package新增 3 个字段
依赖关系:
- 本期不涉及外部依赖变更
- 后续 Phase 2(代理套餐分配)依赖本期完成