README - Spring MVC 供应商订单安全对账
供应商订单安全对账
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-results:CreateReconciliationRequest { order, result }。POST /api/v1/booking-reconciliations/query-results:QueryReconciliationRequest { order, result }。
Controller 从 UTC Clock 取得决策时间并调用无 I/O 的 BookingReconciliationService。默认最多查单 3 次、间隔 5 分钟。
安全与边界
唯一允许再次建单的条件为 EXPLICIT_REJECT 和 NO_INVENTORY_NO_BOOKING_CREATED。超时、网络错误、5xx、冲突、缺字段、多匹配和查询耗尽都不会自动建单;人工审核和已确认状态受保护。
X-Trace-Id 用于关联请求、响应、错误与审计日志。项目未实现数据库、订单持久化、供应商调用、消息队列、调度、鉴权、分布式锁、分布式幂等或审计存储。