Files
junhong_cmp_fiber/openspec/specs/order-commission-delivery/spec.md
break 7e7f1cbb67
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 53s
更新
2026-08-13 16:09:38 +08:00

35 lines
1.7 KiB
Markdown

# 订单佣金可靠投递当前行为
## Purpose
保证已支付订单的佣金计算请求具有可追踪的可靠投递与幂等补偿能力,避免短暂异步故障导致佣金永久遗漏。
## Requirements
### Requirement: 已支付订单佣金计算可靠投递
系统 SHALL 在已支付订单的资金、订单状态和套餐激活事实提交时,持久化唯一的佣金计算投递事实;该事实须在首次投递失败后按既有可靠投递机制重试,并保存当前状态与最后失败摘要。
#### Scenario: 首次投递失败后恢复
- **WHEN** 佣金计算首次未能提交给异步消费者
- **THEN** 订单保持待计算,持久化投递事实保留待重试状态,后续成功投递后订单进入既有佣金计算流程
### Requirement: 佣金计算重复投递幂等
系统 SHALL 容忍同一订单的佣金计算事件被重复投递、重复消费或由补偿流程再次请求,且不得创建重复佣金记录或重复增加佣金钱包余额。
#### Scenario: 重复消费同一订单
- **WHEN** 已完成佣金计算的订单再次收到佣金计算请求
- **THEN** 系统不新增佣金记录、不改变佣金钱包余额,并保留该订单既有佣金结果
### Requirement: 待计算订单可补偿
系统 SHALL 对已支付且仍处于佣金待计算状态、但缺少可投递事实或投递超过重试上限的订单提供幂等补偿;补偿结果须能区分已补发、无需补发和补发失败。
#### Scenario: 历史待计算订单补偿
- **WHEN** 补偿流程发现已支付且长期待计算的订单
- **THEN** 系统为该订单建立或恢复唯一投递事实,并使其重新进入佣金计算流程而不重复发放佣金