Files
junhong_cmp_fiber/openspec/changes/add-shop-package-allocation/proposal.md
huang 79c061b6fa
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m24s
feat: 实现套餐管理模块,包含套餐系列、双状态管理、废弃模型清理
- 新增套餐系列管理 (CRUD + 状态切换)
- 新增套餐管理 (CRUD + 启用/禁用 + 上架/下架双状态)
- 清理 8 个废弃分佣模型及对应数据库表
- Package 模型新增建议成本价、建议售价、上架状态字段
- 完整的 Store/Service/Handler 三层实现
- 包含单元测试和集成测试
- 归档 add-package-module change
- 新增多个 OpenSpec changes (订单支付、店铺套餐分配、一次性分佣、卡设备系列绑定)
2026-01-27 19:55:47 +08:00

2.6 KiB
Raw Blame History

Why

Phase 1 完成了套餐基础模块,但代理商还不能分销套餐。需要实现代理套餐分配机制:上级代理为下级分配套餐系列,设置成本价(通过加价模式计算),并支持梯度佣金配置。代理只能看到和销售被分配的套餐。

What Changes

新增模型:

  • ShopSeriesAllocation:店铺套餐系列分配,记录哪个店铺被分配了哪个套餐系列、成本价加价模式、一次性佣金触发配置
  • ShopSeriesCommissionTier:梯度佣金配置,基于销量/销售额设置不同的阶梯奖励金额
  • ShopPackageAllocation:店铺单套餐分配(可选),用于覆盖系列级别的成本价设置

新增 API

  • 为下级店铺分配套餐系列(设置加价模式)
  • 查询店铺的套餐系列分配列表
  • 更新/删除套餐系列分配
  • 配置梯度佣金(按系列)
  • 为下级店铺分配单个套餐(覆盖成本价)
  • 代理查看自己可销售的套餐列表(含成本价)

业务规则:

  • 加价模式:固定金额加价 或 百分比加价(基于上级成本价)
  • 代理给下级设置的成本价 ≥ 自己的成本价(不可亏本)
  • 梯度佣金支持时间范围配置(月度/季度/年度/自定义)
  • 套餐系列分配是主要方式,单套餐分配用于特殊覆盖

Capabilities

New Capabilities

  • shop-series-allocation: 店铺套餐系列分配 - 为下级店铺分配套餐系列,设置加价模式计算成本价
  • shop-commission-tier: 梯度佣金配置 - 基于销量/销售额配置不同档位的一次性佣金
  • shop-package-allocation: 店铺单套餐分配 - 可选的单套餐级别成本价覆盖
  • agent-available-packages: 代理可售套餐查询 - 代理查看自己被分配的套餐及成本价

Modified Capabilities

Impact

代码影响:

  • internal/model/ - 新增 3 个模型文件
  • migrations/ - 创建 3 个新表
  • internal/handler/admin/ - 新增分配管理 Handler
  • internal/service/ - 新增分配管理 Service
  • internal/store/postgres/ - 新增 3 个 Store
  • internal/model/dto/ - 新增请求/响应 DTO
  • internal/bootstrap/ - 注册新组件
  • internal/router/ - 注册新路由

API 影响:

  • 新增 /api/admin/shop-series-allocations/* 路由组
  • 新增 /api/admin/shop-package-allocations/* 路由组
  • 新增 /api/admin/my-packages 代理可售套餐查询

数据库影响:

  • 新增表:tb_shop_series_allocation, tb_shop_series_commission_tier, tb_shop_package_allocation

依赖关系:

  • 依赖 Phase 1add-package-module完成
  • Phase 3卡/设备关联)依赖本期