## ADDED Requirements ### Requirement: 代理渠道购买价格规则 系统 MUST 根据购买渠道返回正确的购买价格:代理渠道使用 `allocation.retail_price`,平台渠道使用 `Package.SuggestedRetailPrice`。 #### Scenario: 代理渠道使用分配零售价 - **WHEN** 客户通过代理渠道购买套餐 - **THEN** 系统 MUST 使用 `allocation.retail_price` 作为支付金额 #### Scenario: 平台渠道使用套餐建议零售价 - **WHEN** 客户通过平台自营渠道购买套餐 - **THEN** 系统 MUST 使用 `Package.SuggestedRetailPrice` 作为支付金额 --- ### Requirement: validatePackages 价格累加与展示校验 系统 MUST 在 `validatePackages()` 中按渠道来源使用一致的价格来源进行累加计算,并在代理渠道增加价格展示可见性校验。 #### Scenario: 代理渠道累加使用 retail_price - **WHEN** `validatePackages()` 处理代理渠道的多套餐下单 - **THEN** 总价累加 MUST 基于各套餐的 `allocation.retail_price` #### Scenario: 平台渠道累加使用 SuggestedRetailPrice - **WHEN** `validatePackages()` 处理平台渠道的多套餐下单 - **THEN** 总价累加 MUST 基于各套餐的 `Package.SuggestedRetailPrice` #### Scenario: 代理渠道过滤异常零售价 - **WHEN** 代理渠道某套餐存在 `retail_price < cost_price` - **THEN** 系统 MUST 不展示该套餐,且不允许该套餐进入下单校验