Files
Wyndham-RSVN-0918/docs/project/integrations/ohip-group-grid-cp4.md
T
2026-09-17 10:13:16 +08:00

3.2 KiB

GROUP完整房量转换与回读 CP4

2026-09-16:消费端本地实现及验证完成。此组件将已确认的完整房量转成固定接口请求,再比较实际查询结果;尚未注册真实办理适配器,不能把本地测试视为酒店操作成功。

调用及责任

OhipGroupAllocationConverter依赖共享业务规划接口、独立JSON解析器和Clock。受信后台先从冻结确认及完整旧范围获得BookingPlan,再显式提供真实Block、房型映射、INITIAL/ACTUAL类别和四人数列分配。prepare重新核对业务目标,保证新旧范围的清零格没有遗漏,并生成有界、稳定排序的原生正文;不猜酒店人数列或默认类别。

request复用已保存的确认及幂等身份,仅产生UPDATE_BLOCK_ALLOCATION固定调用。调用方仍负责数据库中的确认版本、环境/实际对象和执行阶段绑定,此内部组件不是HTTP授权边界。

verify只接收本次写后查询结果,检查Block、查询时间、分页连续性和显式四列数量。缺失零值不推断为零;不接受错误对象、错误类别、冲突页、未完分页、旧结果或仅有平台核验计数的回复。返回的是实际查询到的目标单元。结果始终不表示整个业务完成,也不证明请求范围之外的房量状态。

Oracle26.3的blockGridType规定省略hasMore表示已取完,因此末页可以省略此字段;中间页省略、null或非布尔继续拒绝。其他代码目录实查呈现不同的offset习惯,不跨接口推断;Block分页仍需专用对象联调。

实现位置

  • server/src/main/java/cn/nianxx/thhotel/integrations/ohip/edge/common/dto/OhipGroupAllocation.java
  • server/src/main/java/cn/nianxx/thhotel/integrations/ohip/edge/adapter/OhipGroupAllocationConverter.java
  • server/src/test/java/cn/nianxx/thhotel/integrations/ohip/edge/adapter/OhipGroupAllocationConverterTest.java

人数四列合计使用long避免溢出;每列非负int32。最多100房型、4,000单元、366日,读取最多20页、18MiB。异常及toString不输出原始业务内容。无新控制器、数据库迁移、前端字段、运行配置或外部授权。

验证和继续点

新增36项测试;规划、HTTP适配和执行框架联合97项通过;后端完整verify为1,556项,其中1,540通过、16项原有条件跳过、0失败/错误。localhost模拟HTTP验证了固定接口正文和持久请求身份,没有写Oracle。详见证据。

最新公开目录仍0.6.0/111项,缺少新增房量操作。平台0.8.0/118项候选分支60e89b4已推送但未部署;实际发布通道仍缺。下一步继续可信执行适配、GROUP改期顺序与全范围查询,并在平台可用后用专用测试对象验证人数列/类别、附件和FIT字段。默认OhipPendingBookingExecutionAdapter保持HOTEL_INTEGRATION_NOT_READY;没有加载或启用真实酒店办理。

本轮继续只读查询OHIPSB02,已确认业务期望代码尚未出现在测试目录,TEN受权限限制;详见测试环境实查。不会因此自动改变正式业务代码。