Files
huang 37b4483183
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
赠送套餐逻辑
2026-04-28 17:40:06 +08:00

2.4 KiB
Raw Blame History

MODIFIED Requirements

Requirement: 获取购买价格

系统 MUST 根据买家身份返回正确的购买价格,并且 MUST 使用生效售价,不得直接把未配置的建议零售价当成交价返回。个人客户、平台自营和自动购包路径 SHALL 以套餐生效售价为准;代理为店铺购买时 SHALL 以分配记录上的生效售价为准。

Scenario: 个人客户购买

  • WHEN 个人客户购买一个普通可售套餐,且建议零售价未配置
  • THEN 系统 SHALL 返回回退后的生效售价,金额等于成本价

Scenario: 代理为店铺购买

  • WHEN 代理为自己店铺购买套餐
  • THEN 系统 SHALL 返回该分配记录对应的生效售价

Requirement: validatePackages() 价格累加与展示校验

系统 MUST 在 validatePackages() 中按渠道来源使用一致的生效售价进行累加计算,并在代理渠道保持价格展示可见性校验。未配置建议零售价时,累计金额 MUST 使用回退后的生效售价,而不是原始空值。

Scenario: 代理渠道累加使用生效售价

  • WHEN validatePackages() 处理代理渠道的多套餐下单
  • THEN 总价累加 MUST 基于各套餐的生效售价

Scenario: 平台渠道累加使用生效售价

  • WHEN validatePackages() 处理平台渠道的多套餐下单
  • THEN 总价累加 MUST 基于各套餐的生效售价

Scenario: 未配置价格不再触发错误展示

  • WHEN 某个普通可售套餐的建议零售价未配置
  • THEN 系统 SHALL 使用回退后的生效售价继续校验
  • THEN 系统 MUST NOT 因原始建议零售价为空而把该套餐当成异常价格直接拦截

Requirement: 赠送套餐禁止进入自购下单

系统 SHALL 拒绝任何用户通过自购路径购买赠送套餐。赠送加油包只能通过后台发放进入资产,不能通过 C 端或后台自助下单购买。

赠送场景 SHALL 仅允许使用显式配置的建议零售价 0但该 0 价仅表示赠送语义,不能作为普通可售套餐的正常销售路径。

Scenario: C 端自购赠送套餐被拦截

  • WHEN 个人客户尝试购买一个启用赠送语义的套餐
  • THEN 系统返回不可购买错误,订单不创建

Scenario: 后台自助下单赠送套餐被拦截

  • WHEN 后台操作者尝试通过普通购买接口创建赠送套餐订单
  • THEN 系统 MUST 拒绝该订单