## ADDED Requirements ### Requirement: 赠送套餐语义必须显式标记,且 0 价仅用于赠送语义 系统 MUST 将赠送套餐视为独立业务语义,不能仅通过 `package_type` 推导赠送含义。若套餐显式配置为 0 价,则该 0 价 MUST 仅用于赠送语义。 #### Scenario: 赠送语义不能仅靠 package_type 推导 - **WHEN** 套餐类型为 formal 或 addon,但未显式标记为赠送 - **THEN** 系统 MUST NOT 仅凭套餐类型判断其是否为赠送套餐 #### Scenario: 赠送套餐显式使用 0 价 - **WHEN** 平台创建赠送套餐并将建议零售价显式配置为 0 - **THEN** 系统 MUST 保留该 0 价配置并将其识别为赠送语义 --- ### Requirement: 赠送套餐仅限平台侧且不可分配给代理 系统 SHALL 将赠送套餐限定为平台侧能力。赠送套餐 MUST NOT 被分配给代理,也 MUST NOT 出现在任何代理可操作的套餐授权列表中。 #### Scenario: 平台可创建赠送套餐 - **WHEN** 平台管理员创建赠送套餐 - **THEN** 系统允许保存该赠送语义 #### Scenario: 代理不能分配赠送套餐 - **WHEN** 代理尝试将赠送套餐加入自己的授权或分配给下级 - **THEN** 系统返回错误并拒绝操作 #### Scenario: 赠送套餐不进入代理可售列表 - **WHEN** 系统生成代理可见的套餐授权列表 - **THEN** 赠送套餐 MUST 被过滤掉 --- ### Requirement: 赠送套餐仅能后台发放,不能前台自购 系统 SHALL 仅允许通过后台发放流程创建赠送套餐资产。C 端与前台购买路径 MUST NOT 直接购买赠送套餐,且赠送套餐 MUST NOT 出现在 C 端可购买套餐列表中。 #### Scenario: 后台发放赠送加油包 - **WHEN** 平台通过后台发放赠送加油包 - **THEN** 系统创建发放记录并授予目标资产 #### Scenario: C 端不能自购赠送套餐 - **WHEN** 个人客户在 C 端尝试购买赠送套餐 - **THEN** 系统返回不可购买错误 #### Scenario: 赠送套餐不出现在 C 端可购列表 - **WHEN** C 端请求可购买套餐列表 - **THEN** 系统 MUST 不返回任何赠送套餐