# 店铺系列分配变更

## MODIFIED Requirements

### Requirement: 创建店铺系列分配

系统 SHALL 允许上级店铺为下级店铺分配套餐系列。分配时配置基础返佣和一次性佣金金额（给下级的金额）。

**变更说明**：移除完整的一次性佣金配置字段（type、trigger、threshold、mode、value 等），改为只配置"给被分配店铺的一次性佣金金额"。一次性佣金规则从套餐系列获取。

#### Scenario: 创建分配并设置一次性佣金金额
- **WHEN** 平台给代理A分配系列
- **AND** 系列启用一次性佣金，规则为首充100返20元
- **AND** 设置给A的一次性佣金金额为20元
- **THEN** 系统创建分配记录
- **AND** `one_time_commission_amount` 记录为 2000（分）

#### Scenario: 设置超额的一次性佣金金额
- **WHEN** 代理A给代理A1分配系列
- **AND** A自己能拿到的一次性佣金为15元
- **AND** 设置给A1的一次性佣金金额为20元
- **THEN** 系统拒绝该配置
- **AND** 返回错误"给下级的一次性佣金不能超过自己能拿到的金额"

#### Scenario: 系列未启用一次性佣金
- **WHEN** 分配的系列未启用一次性佣金
- **THEN** 不需要设置 `one_time_commission_amount`
- **AND** 该字段默认为 0

---

### Requirement: ShopSeriesAllocation 模型字段调整

系统 MUST 调整 ShopSeriesAllocation 模型字段：

**保留字段**：
- `shop_id`：被分配的店铺ID
- `series_id`：套餐系列ID
- `allocator_shop_id`：分配者店铺ID
- `base_commission_mode`：基础返佣模式
- `base_commission_value`：基础返佣值
- `status`：状态

**新增字段**：
- `one_time_commission_amount`：给被分配店铺的一次性佣金金额（分），默认0

**移除字段**：
- `enable_one_time_commission`
- `one_time_commission_type`
- `one_time_commission_trigger`
- `one_time_commission_threshold`
- `one_time_commission_mode`
- `one_time_commission_value`
- `enable_force_recharge`
- `force_recharge_amount`
- `force_recharge_trigger_type`

#### Scenario: 查询分配详情
- **WHEN** 查询店铺系列分配详情
- **THEN** 返回 `one_time_commission_amount`（给该店铺的一次性佣金金额）
- **AND** 不再返回完整的一次性佣金配置字段

## REMOVED Requirements

### Requirement: 分配时配置完整一次性佣金规则

**Reason**: 一次性佣金规则应在套餐系列层面定义，分配时只需设置"给下级多少"
**Migration**: 
1. 一次性佣金规则（触发条件、阈值、金额/梯度）移到套餐系列的配置中
2. 分配时只配置 `one_time_commission_amount`（给该代理的金额）
3. 迁移脚本将现有 `one_time_commission_value` 迁移到新字段
