清理冗余的梯度返佣(TierCommission)配置
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m46s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m46s
- 移除 Model 层:删除 ShopSeriesCommissionTier 模型及相关字段 - 更新 DTO:删除 TierCommissionConfig、TierEntry 类型及相关请求/响应字段 - 删除 Store 层:移除 ShopSeriesCommissionTierStore 及相关查询逻辑 - 简化 Service 层:删除梯度返佣处理逻辑,统计查询移除 tier_bonus 字段 - 数据库迁移:创建 000034_remove_tier_commission 移除相关表和字段 - 更新测试:移除梯度返佣相关测试用例,更新集成测试 - OpenAPI 文档:删除梯度返佣相关 schema 和枚举值 - 归档变更:归档 remove-tier-commission-redundancy 到 archive/2026-01-30- - 同步规范:更新 4 个主 specs,标记废弃功能并添加迁移指引 原因:梯度返佣功能与一次性梯度佣金功能重复,且从未实现实际计算逻辑 迁移:使用一次性佣金的梯度模式 (OneTimeCommissionConfig.type = "tiered") 替代
This commit is contained in:
@@ -94,7 +94,11 @@
|
||||
|
||||
#### Scenario: 佣金来源类型
|
||||
- **WHEN** 创建佣金记录
|
||||
- **THEN** commission_source 为以下之一:cost_diff(成本价差)、one_time(一次性佣金)、tier_bonus(梯度奖励)
|
||||
- **THEN** commission_source 为以下之一:cost_diff(成本价差)、one_time(一次性佣金)
|
||||
|
||||
#### Scenario: 不再支持梯度奖励来源
|
||||
- **WHEN** 尝试创建 commission_source = "tier_bonus" 的佣金记录
|
||||
- **THEN** 系统拒绝并返回错误 "不支持的佣金来源类型"
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -8,10 +8,18 @@
|
||||
- **WHEN** 代理查询佣金记录列表
|
||||
- **THEN** 系统返回该店铺的所有佣金记录
|
||||
|
||||
#### Scenario: 按佣金来源筛选
|
||||
#### Scenario: 按成本价差筛选
|
||||
- **WHEN** 指定 commission_source 为 cost_diff
|
||||
- **THEN** 系统只返回成本价差类型的佣金记录
|
||||
|
||||
#### Scenario: 按一次性佣金筛选
|
||||
- **WHEN** 指定 commission_source 为 one_time
|
||||
- **THEN** 系统只返回一次性佣金类型的佣金记录
|
||||
|
||||
#### Scenario: 使用已废弃的佣金来源筛选
|
||||
- **WHEN** 指定 commission_source 为 tier_bonus
|
||||
- **THEN** 系统返回空列表或返回错误 "不支持的佣金来源类型"
|
||||
|
||||
#### Scenario: 按时间范围筛选
|
||||
- **WHEN** 指定开始时间和结束时间
|
||||
- **THEN** 系统只返回该时间范围内的佣金记录
|
||||
@@ -46,7 +54,11 @@
|
||||
|
||||
#### Scenario: 各来源占比
|
||||
- **WHEN** 代理查询佣金统计
|
||||
- **THEN** 系统返回各佣金来源的金额和占比(cost_diff、one_time、tier_bonus)
|
||||
- **THEN** 系统返回各佣金来源的金额和占比(cost_diff、one_time)
|
||||
|
||||
#### Scenario: 统计响应不包含梯度奖励字段
|
||||
- **WHEN** 代理查询佣金统计
|
||||
- **THEN** 响应中不包含 tier_bonus_amount、tier_bonus_count、tier_bonus_percent 字段
|
||||
|
||||
#### Scenario: 按时间范围统计
|
||||
- **WHEN** 指定时间范围查询统计
|
||||
|
||||
@@ -1,13 +1,31 @@
|
||||
# Capability: 店铺返佣梯度管理
|
||||
|
||||
**❌ CAPABILITY REMOVED** - 此 capability 已完全废弃
|
||||
|
||||
## Purpose
|
||||
|
||||
本 capability 定义代理如何为套餐系列分配配置和管理梯度返佣,包括添加、查询、更新和删除梯度配置。
|
||||
|
||||
## Requirements
|
||||
**废弃原因**: 整个店铺返佣梯度管理 capability 被废弃。梯度返佣功能与一次性梯度佣金功能重复,且梯度返佣从未实现实际的佣金计算逻辑。系统简化为只支持基础返佣(成本价差)和一次性佣金两种机制。
|
||||
|
||||
**迁移指引**:
|
||||
- 使用一次性佣金的梯度模式 (OneTimeCommissionConfig.type = "tiered") 替代
|
||||
- 一次性佣金支持按销售数量 (tier_type = "sales_count") 或销售金额 (tier_type = "sales_amount") 设置梯度
|
||||
- 一次性佣金每张卡/设备只触发一次,达到阈值后自动发放
|
||||
- 删除所有梯度佣金配置相关的 API 端点:
|
||||
- `POST /api/shop-series-allocations/:id/tiers` (添加梯度配置)
|
||||
- `GET /api/shop-series-allocations/:id/tiers` (查询梯度配置)
|
||||
- `PUT /api/shop-series-commission-tiers/:id` (更新梯度配置)
|
||||
- `DELETE /api/shop-series-commission-tiers/:id` (删除梯度配置)
|
||||
|
||||
---
|
||||
|
||||
## REMOVED Requirements
|
||||
|
||||
### Requirement: 配置梯度佣金
|
||||
|
||||
**❌ REMOVED**
|
||||
|
||||
系统 SHALL 允许代理为套餐系列分配配置梯度佣金。每个梯度包含:梯度类型(销量/销售额)、周期类型(月度/季度/年度)、阈值、达标后的返佣配置(返佣模式和返佣值)。
|
||||
|
||||
#### Scenario: 添加销量梯度佣金
|
||||
@@ -26,6 +44,8 @@
|
||||
|
||||
### Requirement: 查询梯度佣金配置
|
||||
|
||||
**❌ REMOVED**
|
||||
|
||||
系统 SHALL 提供梯度佣金配置的查询功能,按分配 ID 查询,返回结果按阈值升序排列。
|
||||
|
||||
#### Scenario: 查询分配的梯度配置
|
||||
@@ -40,6 +60,8 @@
|
||||
|
||||
### Requirement: 更新梯度佣金配置
|
||||
|
||||
**❌ REMOVED**
|
||||
|
||||
系统 SHALL 允许代理更新梯度配置的阈值和返佣配置。
|
||||
|
||||
#### Scenario: 更新梯度阈值
|
||||
@@ -54,6 +76,8 @@
|
||||
|
||||
### Requirement: 删除梯度佣金配置
|
||||
|
||||
**❌ REMOVED**
|
||||
|
||||
系统 SHALL 允许代理删除梯度配置。
|
||||
|
||||
#### Scenario: 删除梯度配置
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
### Requirement: 为下级店铺分配套餐系列
|
||||
|
||||
系统 SHALL 允许代理为其直属下级店铺分配套餐系列。分配时 MUST 指定基础返佣配置(返佣模式和返佣值),MAY 启用梯度返佣。分配者只能分配自己已被分配的套餐系列。
|
||||
系统 SHALL 允许代理为其直属下级店铺分配套餐系列。分配时 MUST 指定基础返佣配置(返佣模式和返佣值),MAY 启用一次性佣金。分配者只能分配自己已被分配的套餐系列。
|
||||
|
||||
#### Scenario: 成功分配套餐系列
|
||||
- **WHEN** 代理为直属下级店铺分配一个自己拥有的套餐系列,设置基础返佣为百分比200(20%)
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
### Requirement: 更新套餐系列分配
|
||||
|
||||
系统 SHALL 允许代理更新分配的基础返佣配置和梯度返佣开关。更新返佣配置时 MUST 创建新的配置版本。
|
||||
系统 SHALL 允许代理更新分配的基础返佣配置和一次性佣金配置。更新返佣配置时 MUST 创建新的配置版本。
|
||||
|
||||
#### Scenario: 更新基础返佣配置时创建新版本
|
||||
- **WHEN** 代理将基础返佣从20%改为25%
|
||||
@@ -91,3 +91,21 @@
|
||||
#### Scenario: 平台为一级代理分配
|
||||
- **WHEN** 平台管理员为一级代理分配套餐系列
|
||||
- **THEN** 系统创建分配记录
|
||||
|
||||
---
|
||||
|
||||
## REMOVED Requirements
|
||||
|
||||
### Requirement: 梯度返佣配置
|
||||
|
||||
**❌ REMOVED** - 此 requirement 已废弃
|
||||
|
||||
**原内容**: 分配时 MAY 启用梯度返佣
|
||||
|
||||
**Reason**: 梯度返佣 (TierCommission) 功能与一次性梯度佣金 (OneTimeCommission.tiered) 功能重复,且梯度返佣未实现实际计算逻辑,仅保留基础返佣和一次性佣金两种机制。
|
||||
|
||||
**Migration**:
|
||||
- 如果需要根据销售业绩给予额外奖励,请使用一次性佣金的梯度模式 (OneTimeCommissionConfig.type = "tiered")
|
||||
- 一次性佣金支持按销售数量或销售金额设置多个梯度档位
|
||||
- API 请求中删除 `enable_tier_commission` 和 `tier_config` 字段
|
||||
- API 响应中不再包含 `enable_tier_commission` 字段
|
||||
|
||||
Reference in New Issue
Block a user