## 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 1(add-package-module)完成 - Phase 3(卡/设备关联)依赖本期