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

5.1 KiB

GROUP新建完整后台执行 CP21

状态:本地实现及回归完成;默认执行器仍为 Pending。

员工看到的流程

工作台确认一次后,后台保存团队基本资料和实际 Block 编号,再写完整房型房数、上传本次所有 Excel,最后重新查询房量、基本资料和附件。只有实际查询全部符合原确认要求,整笔才显示完成。未完成时显示动态逐项事实,不穷举失败组合;酒店返回保存回执与当前值已经查实分开呈现。

本轮只连接 GROUP NEW。FIT NEW沿用CP19,餐厅边界沿用CP20;同时修正后台最终检查中遗留的独立FIT Meal要求和三语旧提示。GROUP仍检查显式 Breakfast Included。GROUP/FIT UPDATE、FIT TA recorder准确写读契约和真实环境验收继续待办。

编排、保存与恢复

OhipGroupNewBookingExecutionAdapter 是未注册Spring的显式执行端口,连接CP20头字段、CP12实际创建绑定、CP4房量转换及CP18整组附件;后台业务层仍只依赖既有Port。PREPARE固定原确认、目标地址/环境、映射、Account/Contact、Category、Occupancy Split与分配、接口能力、附件linkType的摘要。

创建仓库新增 forConfirmedGroup 工厂,只允许带cp21摘要且此前零调用的GROUP首次SAVE_DETAILS冻结原创建清单。其他构造器及已有FIT/UPDATE边界不变。后续不能靠Tour Code认领不确定的新建结果。

内部 HotelGroupRoomPlan / HotelGroupRoomRepository / V49保存完整原创建计划、实际父编号绑定、原配置摘要、精确房量请求摘要、首次准备时间,不保存请求正文。冻结、载入、发送守卫在原执行行锁内验证当前确认、租约、完整创建回执和唯一房量调用。房量请求摘要涵盖实际目标与幂等键;计划、编号、环境或任何既有调用不一致都停止。

房量只在SAVE_ROOMS发送。恢复先查完整当前房量;UNKNOWN、DISPATCHED或仅受理回执不能因查询匹配而升级为可靠写入回执,更不能再次发送或进入附件。只有原调用明确NOT_SENT(或冻结前后中断且根本无调用)并成功完成现状查询,才允许新attempt继续同一请求。部分附件成功后使用原冻结顺序和来源逐件续办,不重建Block、不重复房量修改、不重复上传已核实文件。

完整房量的证明范围

GROUP NEW目标为最早入住至最后离店前一夜、所有已选房型的完整矩形;未入住的间隙日和缺省交叉格显式为零。不能将酒店未返回的目标格当零。最终查询不按房型过滤,fetchAllocatedRoomTypes=false,覆盖最早入住至离店日;未选房型或离店日出现正数也判不符,不自动清除。

显式环境配置决定INITIAL/ACTUAL和Occupancy Split;实际 blockDetails.blockStatus.allowPickup 必须与类别相符,不能根据TEN猜。未启用Occupancy Split时onePerson承载总量,其余三列为零;启用时调用方必须提供完整四列且合计吻合。当前还需环境配置加载,不能将缺失设置默认为关闭。

当前完整范围仅接受实际 reservationDetails.inventoryControl=NonElastic。Elastic/SellLimit可能存在核心住期之外的房量,尚无完整查询范围证明,因此拒绝;缺失值也拒绝。餐饮专用团、非空shoulderDates不进入本链,显式null/错误类型同样拒绝。官方固定BLK契约及CP8范围结论为依据,没有创建或修改这些酒店配置。

每页最多50、最多20页,完整观测最多4000格;日期最多365住夜加离店日。严格检查酒店/Block身份、时间、页偏移、hasMore、跨页总页数/总结果数一致性、四列完整性和全局重复格。超限或不完整保持未完成。附件完成后再次查询房量和基本资料,避免处理期间数量/状态变化仍判成功。只有一次查询所得快照一致,不能宣称对并发酒店改动拥有跨接口原子性。

用户结果与安全

沿用CP19的items,新增稳定字段block、blockName、contact、currency;字段用三语标签展示,原values保持兼容。第二次房量查询失败撤销ROOMS通过标记;头字段查询失败只撤销头字段相关检查,保留已确认的房量/附件事实。历史已查值不作为本次通过证据,逐项UNKNOWN不会用输入参数补填当前值。

没有新增公开HTTP路由或权限码。员工查询仍读取本地受酒店隔离的办理记录,不触发外呼;新表仅内部访问,实际迁移未执行。合成测试不接酒店、邮件或凭据;默认Pending、未启用、未重启、未提交推送或部署。

接续与验收

测试与证据见CP21证据,需求见CR。下一步连接GROUP/FIT UPDATE及长阶段预算,再安排平台候选发布、应用权限、环境代码/Occupancy Split、MySQL迁移及Oracle测试环境验收。Oracle BLK日期format/maxLength矛盾和FIT TA准确契约仍须验证;本地测试不等于四流程验收或正式酒店可用。