feat: 实现套餐管理模块,包含套餐系列、双状态管理、废弃模型清理
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m24s
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 (订单支付、店铺套餐分配、一次性分佣、卡设备系列绑定)
This commit is contained in:
61
openspec/changes/add-shop-package-allocation/proposal.md
Normal file
61
openspec/changes/add-shop-package-allocation/proposal.md
Normal file
@@ -0,0 +1,61 @@
|
||||
## 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(卡/设备关联)依赖本期
|
||||
Reference in New Issue
Block a user