## ADDED Requirements ### Requirement: 批量设置设备的套餐系列 系统 SHALL 允许代理批量为设备设置套餐系列分配。只能设置当前店铺被分配且启用的套餐系列。 #### Scenario: 成功批量设置 - **WHEN** 代理提交多个设备 ID 和一个有效的 series_allocation_id - **THEN** 系统更新这些设备的 series_allocation_id 字段 #### Scenario: 系列未分配给店铺 - **WHEN** 代理尝试设置一个未分配给设备所属店铺的系列 - **THEN** 系统返回错误 "该套餐系列未分配给此店铺" #### Scenario: 系列分配已禁用 - **WHEN** 代理尝试设置一个已禁用的系列分配 - **THEN** 系统返回错误 "该套餐系列分配已禁用" #### Scenario: 设备不存在 - **WHEN** 提交的设备 ID 中有不存在的设备 - **THEN** 系统返回错误,列出不存在的设备 ID #### Scenario: 设备不属于当前店铺 - **WHEN** 代理尝试设置不属于自己店铺的设备 - **THEN** 系统返回错误 "部分设备不属于您的店铺" --- ### Requirement: 清除设备的套餐系列关联 系统 SHALL 允许代理清除设备的套餐系列关联。 #### Scenario: 清除单设备关联 - **WHEN** 代理将设备的 series_allocation_id 设为 0 - **THEN** 系统清除该设备的套餐系列关联 #### Scenario: 批量清除关联 - **WHEN** 代理批量提交设备 ID 列表,series_allocation_id 为 0 - **THEN** 系统清除这些设备的套餐系列关联 --- ### Requirement: 查询设备的套餐系列信息 系统 SHALL 在设备详情和列表中返回套餐系列关联信息。 #### Scenario: 设备详情包含系列信息 - **WHEN** 查询设备详情 - **THEN** 响应包含 series_allocation_id、关联的系列名称、佣金状态 #### Scenario: 设备列表支持按系列筛选 - **WHEN** 代理按 series_allocation_id 筛选设备列表 - **THEN** 系统只返回关联该系列的设备 --- ### Requirement: Device 模型新增字段 系统 MUST 在 Device 模型中新增以下字段: - `series_allocation_id`:套餐系列分配 ID - `first_commission_paid`:一次性佣金是否已发放(默认 false) - `accumulated_recharge`:累计充值金额(默认 0) #### Scenario: 新设备默认值 - **WHEN** 创建新设备 - **THEN** series_allocation_id 为空,first_commission_paid 为 false,accumulated_recharge 为 0 #### Scenario: 字段在响应中可见 - **WHEN** 查询设备信息 - **THEN** 响应包含这三个新字段 --- ### Requirement: 设备级套餐购买优先级 设备购买套餐时 MUST 使用 Device.series_allocation_id 确定可购买的套餐系列,而非设备下单卡的 series_allocation_id。 #### Scenario: 设备有系列关联 - **WHEN** 设备有 series_allocation_id,且其下的卡也有各自的 series_allocation_id - **THEN** 设备级套餐购买使用设备的 series_allocation_id #### Scenario: 设备无系列关联 - **WHEN** 设备的 series_allocation_id 为空 - **THEN** 该设备无法购买设备级套餐