BE-04 终态、幂等与乱序优先级交付记录

article
2026年7月20日1 min read63 words

Updated 2026年7月20日

BE-04 终态、幂等与乱序优先级交付记录

修改范围

  • BE-03-delivery.md:以 UTF-8 无 BOM 重新写入,内容和语义不变。
  • BookingReconciliationTerminalStateTest:新增 STATE-01 至 STATE-08,锁定建单和查单入口的终态、幂等和乱序优先级。
  • BookingReconciliationService:未修改;新增测试证明当前纯领域实现已经满足本轮安全规则。

行为保证

  • 重复确认保持 CONFIRMED,动作为 NOOPMANUAL_REVIEW 对建单和查单事件均保持粘性。
  • 供应商订单号或确认号冲突均先进入人工审核,即使供应商事件更旧,也不会回填或覆盖本地标识。
  • 已确认订单收到旧的 PENDINGFAILEDCANCELLED 事件保持确认;同时或更新的相同标识状态进入人工审核。
  • FAILED_FINAL 收到重复白名单拒绝保持终态且不重新授权创建;随后出现完整或不完整的供应商订单证据均进入人工审核。
  • 相同输入和显式 now 产生相等决策;不引入数据库、调度、供应商客户端或 Repository。

验证

mvn -f backend/pom.xml -Dtest=BookingReconciliationTerminalStateTest test
mvn -f backend/pom.xml test

定向测试:8 tests,0 failures,0 errors,0 skipped,BUILD SUCCESS(2026-07-20 11:02:14 +08:00)。
完整测试:52 tests,0 failures,0 errors,0 skipped,BUILD SUCCESS(2026-07-20 11:03:32 +08:00)。