# 套餐系列管理变更

## MODIFIED Requirements

### Requirement: 套餐系列一次性佣金规则配置

系统 SHALL 在套餐系列层面配置一次性佣金的完整规则，包括触发条件、阈值、金额/梯度、时效、强充配置。

**变更说明**：一次性佣金规则从分配时配置改为在系列层面统一定义。分配时只设置"给下级多少"。

#### Scenario: 配置首充规则
- **WHEN** 创建或更新套餐系列
- **AND** 设置一次性佣金规则：`trigger_type = first_recharge`，`threshold = 10000`（100元），`commission_amount = 2000`（20元）
- **THEN** 系统保存该规则配置

#### Scenario: 配置累计充值规则
- **WHEN** 创建或更新套餐系列
- **AND** 设置一次性佣金规则：`trigger_type = accumulated_recharge`，`threshold = 20000`（200元），`commission_amount = 4000`（40元）
- **THEN** 系统保存该规则配置

#### Scenario: 配置梯度规则
- **WHEN** 创建或更新套餐系列
- **AND** 设置一次性佣金规则：`commission_type = tiered`
- **AND** 梯度配置：销量>=0返5元，>=100返10元，>=200返20元
- **THEN** 系统保存梯度配置

#### Scenario: 配置时效
- **WHEN** 创建或更新套餐系列
- **AND** 设置时效：`validity_type = relative`，`validity_value = 3`（3个月）
- **THEN** 系统保存时效配置
- **AND** 该规则在3个月后失效

---

### Requirement: PackageSeries 模型新增字段

系统 MUST 在 PackageSeries 模型中新增一次性佣金规则配置字段：

**新增字段**（使用 JSONB 存储）：
- `one_time_commission_config`：一次性佣金规则配置（JSON）
  - `enable`：是否启用
  - `trigger_type`：触发类型（first_recharge / accumulated_recharge）
  - `threshold`：触发阈值（分）
  - `commission_type`：返佣类型（fixed / tiered）
  - `commission_amount`：固定返佣金额（分）
  - `tiers`：梯度配置数组
  - `validity_type`：时效类型（permanent / fixed_date / relative）
  - `validity_value`：时效值
  - `enable_force_recharge`：是否启用强充
  - `force_calc_type`：强充金额计算方式（fixed / dynamic）
  - `force_amount`：强充金额（fixed类型时）

#### Scenario: 查询系列详情包含规则
- **WHEN** 查询套餐系列详情
- **THEN** 返回完整的一次性佣金规则配置
