## ADDED Requirements

### Requirement: 强充配置

系统 SHALL 在套餐系列分配中支持强充配置。仅累计充值触发时可选启用强充，首次充值触发时强充是必须的（无需配置）。

#### Scenario: 累计充值启用强充
- **WHEN** 创建系列分配，一次性佣金触发类型为累计充值，设置 enable_force_recharge = true，force_recharge_amount = 10000（100元）
- **THEN** 系统保存强充配置，下级客户每次充值/购买必须充值 100 元

#### Scenario: 累计充值不启用强充
- **WHEN** 创建系列分配，一次性佣金触发类型为累计充值，设置 enable_force_recharge = false
- **THEN** 系统保存配置，下级客户可以自由充值任意金额

#### Scenario: 首次充值无需设置强充
- **WHEN** 创建系列分配，一次性佣金触发类型为首次充值，阈值 10000（100元）
- **THEN** 系统使用阈值作为强充金额，无需单独配置 force_recharge_amount

#### Scenario: 强充金额为0表示使用阈值
- **WHEN** 创建系列分配，启用强充，force_recharge_amount = 0
- **THEN** 系统使用一次性佣金阈值作为强充金额

---

## MODIFIED Requirements

### Requirement: 为下级店铺分配套餐系列

系统 SHALL 允许代理为其直属下级店铺分配套餐系列。分配时 MUST 指定基础返佣配置（返佣模式和返佣值），MAY 启用一次性佣金和强充配置。分配者只能分配自己已被分配的套餐系列。

#### Scenario: 成功分配套餐系列
- **WHEN** 代理为直属下级店铺分配一个自己拥有的套餐系列，设置基础返佣为百分比200（20%）
- **THEN** 系统创建分配记录

#### Scenario: 分配时启用一次性佣金和强充
- **WHEN** 代理为下级分配系列，启用一次性佣金，触发类型为累计充值，阈值 100000（1000元），启用强充，强充金额 10000（100元）
- **THEN** 系统保存配置：enable_one_time_commission = true，trigger = "accumulated_recharge"，threshold = 100000，enable_force_recharge = true，force_recharge_amount = 10000

#### Scenario: 尝试分配未拥有的系列
- **WHEN** 代理尝试分配自己未被分配的套餐系列
- **THEN** 系统返回错误 "您没有该套餐系列的分配权限"

#### Scenario: 尝试分配给非直属下级
- **WHEN** 代理尝试分配给非直属下级店铺
- **THEN** 系统返回错误 "只能为直属下级分配套餐"

#### Scenario: 重复分配同一系列
- **WHEN** 代理尝试为同一下级店铺重复分配同一套餐系列
- **THEN** 系统返回错误 "该店铺已分配此套餐系列"

---

### Requirement: 更新套餐系列分配

系统 SHALL 允许代理更新分配的基础返佣配置、一次性佣金配置和强充配置。更新返佣配置时 MUST 创建新的配置版本。

#### Scenario: 更新基础返佣配置时创建新版本
- **WHEN** 代理将基础返佣从20%改为25%
- **THEN** 系统更新分配记录，并创建新配置版本

#### Scenario: 更新强充配置
- **WHEN** 代理将 enable_force_recharge 从 false 改为 true，设置 force_recharge_amount = 10000
- **THEN** 系统更新分配记录，后续下级客户需遵守新强充要求

#### Scenario: 禁用强充
- **WHEN** 代理将 enable_force_recharge 从 true 改为 false
- **THEN** 系统更新分配记录，后续下级客户可以自由充值

#### Scenario: 更新不存在的分配
- **WHEN** 代理更新不存在的分配 ID
- **THEN** 系统返回 "分配记录不存在" 错误

---

### Requirement: 平台分配套餐系列

平台管理员 SHALL 能够为一级代理分配套餐系列，可配置强充要求。平台的成本价基准为 Package.suggested_cost_price。

#### Scenario: 平台为一级代理分配
- **WHEN** 平台管理员为一级代理分配套餐系列
- **THEN** 系统创建分配记录

#### Scenario: 平台配置强充要求
- **WHEN** 平台为一级代理分配系列，启用强充，force_recharge_amount = 10000
- **THEN** 系统保存强充配置，一级代理的客户需遵守强充要求
