Files
Wyndham-RSVN-0918/docs/project/integrations/ohip-shared-guest-cp14.md
鲨鱼辣椒 262831af42
Some checks failed
verify / booking-verify (push) Has been cancelled
完善预订操作台与AI处理结果并接入酒店本地四流程
2026-09-17 10:13:16 +08:00

4.8 KiB
Raw Permalink Blame History

FIT共享客档保存与接续 CP14

状态2026-09-16本地实现及验证完成默认酒店执行仍Pending。承接CP13客档协议及CP12实际预订编号关联。

本次实现

员工仍只确认一次。Guest计划从该次冻结FIT NEW的唯一Name、CN与酒店配置生成V46先保存固定请求/确认/目标地址摘要。创建在SAVE_DETAILS环节进行PREPARE及RECONCILE不写酒店。创建回执保存后按实际Profile ID重新查询核对姓名、国家、Guest类型、registeredProperty及唯一身份才将该ID不可变绑定到本次确认。

所有后续FIT创建使用同一已绑定ID同住期两种房型各3间的测试实际创建1个Guest和2个Reservation每笔numberOfUnits=3。每次继续创建前还会查询Guest当前字段已保存编号不代表当前酒店值。

内部接入

  1. PREPAREOhipGuestProfileAdapter.prepare冻结计划。仅FIT NEW、一个非空且不超过40 Unicode码点的确认姓名不取邮件补值、不选择多个姓名中的第一位。
  2. SAVE_DETAILSexecute只允许原计划对应的Guest调用。先登记后发送固定幂等键成功返回PROFILE_READY及实际绑定和本轮queriedAtbusinessComplete仍false。
  3. 原流程准备好全部Reservation请求Profile ID必须用本次Guest绑定值。创建仓储显式使用JdbcHotelBookingCreationRepository.withConfirmedGuest;其OhipBookingCreationAdapter.prepare/execute校验完整请求集合和同一Guest。
  4. 中断后先Guest reconcile及Creation reconcile。已有成功ID只查询未知或缺回执不重新POST、不按姓名搜索认领。NOT_SENT仅在新一轮受控attempt沿原键发送。

原CP12默认仓储保留独立技术模式兼容不能承载Guest先行例外也不作为新共享Guest流程入口。共享模式检查Guest归属、原回执token、原确认/版本、酒店/环境、实际地址摘要。允许稍后冻结Reservation清单的唯一情况是本次Guest已绑定且此前只有该一个调用其他历史或未完成写入不能混入。

数据与恢复

新增V46 workflow_hotel_guest_profile每Execution一份不可变计划、可空实际Profile/token/first_verified_at绑定字段必须同时为空或完整同一服务地址的同一个新建Profile不可被不同确认重复认领。计划不存姓名原文、原生正文、URL、文件内容或凭据姓名仍只在既有受控Snapshot中。

计划、确认、执行身份列、scopeKey、revision、租约、当前进度和回执比较均在执行行锁内外呼在事务外。首次绑定时间保留重查的queriedAt单独返回。查询失败时保留已保存成功创建事实回执已提交后进程中断可恢复回执丢失只保留DISPATCHED/未知不能靠猜测补绑。跨确认碰到同一个返回ID会拒绝绑定实际Oracle行为需UAT。

平台普通getProfile固定请求fetchInstructions=Profile,Address让恢复GET能取得姓名和国家路由/权限及调用方查询白名单不变。候选仍0.9.0、119操作/14组本轮及CP13更改均未提交/推送/部署,旧发布包未重建。

验证与边界

  • 新增46项H2+localhost测试全部通过并发只创建一次写成功查询失败回执保存前/后及绑定后中断NOT_SENT新attempt字段/身份/酒店/目的地址变化确认、版本、卡片、租约变化跨确认重复ID伪造回执/时间误用旧仓储、额外历史调用、库内绑定修改及预订发送前Guest改变。
  • 相关167项通过完整verify1994项1978通过、16既有条件跳过、零失败/错误、221报告。compiler release17实际JVM26.0.2未跑Java17运行时验证。
  • 平台完整race测试12包通过406通过事件含父子用例、9PostgreSQL条件跳过vet及最终OpenAPI检查通过。新增精确恢复读取测试验证Profile/Address固定查询。
  • 已检查附件/Note历史匹配成功的无source Guest回执不会被当作附件或Note来源原有不确定写入拦截规则保留。
  • 无真实酒店、邮件或凭据调用,未迁移实际数据库、重启服务、启用运行、提交/推送或部署。仅测试临时H2迁移了V46。
  • 本轮提出过1名只读复核许可请求截至收尾未收到答复未创建或调用子智能体不能视作已批准或已完成独立评审。

这仍不是整个办理完成调用方尚须补齐全部业务参数构造、已有GROUP/FIT修改范围、TA recorder、附件/Note与最终全字段查询回显并接真实执行器。Guest、平台部署/权限/酒店配置和数据库/Oracle原生UAT未验收。下一checkpoint先将FIT NEW已确认参数组成完整请求再衔接其余办理及员工回显不改变已确认产品规则。