README - Spring MVC 供应商订单安全对账

reference
2026年7月20日1 min read62 words

Updated 2026年7月20日

供应商订单安全对账

Java 17、Spring Boot 3 与 Spring MVC 的供应商下单安全对账示例。它接收调用方提供的订单快照和一次供应商结果,返回确定性的 ReconciliationDecision;不会保存订单、实际调用供应商或发起后台任务。

运行

mvn -f backend/pom.xml test
mvn -f backend/pom.xml spring-boot:run

需要 JDK 17 和 Maven。当前全量测试为 59 项。

HTTP 接口

  • POST /api/v1/booking-reconciliations/create-resultsCreateReconciliationRequest { order, result }
  • POST /api/v1/booking-reconciliations/query-resultsQueryReconciliationRequest { order, result }

Controller 从 UTC Clock 取得决策时间并调用无 I/O 的 BookingReconciliationService。默认最多查单 3 次、间隔 5 分钟。

安全与边界

唯一允许再次建单的条件为 EXPLICIT_REJECTNO_INVENTORY_NO_BOOKING_CREATED。超时、网络错误、5xx、冲突、缺字段、多匹配和查询耗尽都不会自动建单;人工审核和已确认状态受保护。

X-Trace-Id 用于关联请求、响应、错误与审计日志。项目未实现数据库、订单持久化、供应商调用、消息队列、调度、鉴权、分布式锁、分布式幂等或审计存储。