All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m41s
- 新增佣金计算服务,支持一次性佣金和返佣计算 - 新增 ShopSeriesOneTimeCommissionTier 模型和存储层 - 新增两个数据库迁移:一次性佣金表和订单佣金字段 - 更新 Commission 模型,新增佣金来源和关联字段 - 更新 CommissionRecord 存储层,支持一次性佣金查询 - 更新 MyCommission 服务,集成一次性佣金计算逻辑 - 更新 ShopCommission 服务,支持一次性佣金统计 - 新增佣金计算异步任务处理器 - 更新 API 路由,新增一次性佣金相关端点 - 归档 OpenSpec 变更文档,同步规范到主规范库
2.5 KiB
2.5 KiB
ADDED Requirements
Requirement: 一次性充值触发佣金
系统 SHALL 支持"一次性充值"触发条件:当单笔订单金额 ≥ 配置阈值时触发一次性佣金。
Scenario: 达到一次性充值阈值
- WHEN 订单金额 500 元,配置阈值 300 元,该卡未发放过一次性佣金
- THEN 系统发放一次性佣金,标记卡的 first_commission_paid 为 true
Scenario: 未达到阈值
- WHEN 订单金额 200 元,配置阈值 300 元
- THEN 系统不发放一次性佣金
Scenario: 已发放过一次性佣金
- WHEN 订单金额 500 元,但卡的 first_commission_paid 已为 true
- THEN 系统不重复发放一次性佣金
Requirement: 累计充值触发佣金
系统 SHALL 支持"累计充值"触发条件:当卡/设备的累计充值金额 ≥ 配置阈值时触发一次性佣金。
Scenario: 累计达到阈值
- WHEN 卡之前累计充值 200 元,本次充值 150 元,配置阈值 300 元
- THEN 累计 350 元 ≥ 300 元,系统发放一次性佣金
Scenario: 累计未达到阈值
- WHEN 卡之前累计充值 100 元,本次充值 100 元,配置阈值 300 元
- THEN 累计 200 元 < 300 元,系统不发放一次性佣金
Requirement: 一次性佣金只发放一次
每张卡/设备的一次性佣金 SHALL 只发放一次,通过 first_commission_paid 字段控制。
Scenario: 首次触发
- WHEN 首次满足触发条件
- THEN 发放佣金,设置 first_commission_paid = true
Scenario: 再次满足条件
- WHEN 再次满足触发条件但 first_commission_paid 已为 true
- THEN 不发放佣金
Requirement: 一次性佣金配置获取
一次性佣金的触发条件和金额 SHALL 从 ShopSeriesAllocation 配置获取。
Scenario: 获取触发条件和金额
- WHEN 触发一次性佣金检查
- THEN 系统从卡关联的 ShopSeriesAllocation 获取 one_time_commission_trigger(触发类型)、one_time_commission_threshold(阈值)、one_time_commission_amount(金额)
Scenario: 无一次性佣金配置
- WHEN 卡关联的系列分配未配置一次性佣金(one_time_commission_amount = 0)
- THEN 不发放一次性佣金
Requirement: 一次性佣金发放对象
一次性佣金 SHALL 发放给卡/设备的直接归属店铺。
Scenario: 发放给归属店铺
- WHEN 卡归属店铺 A,触发一次性佣金
- THEN 佣金入账到店铺 A 的钱包