Files
Wyndham-RSVN-0918/docs/project/integrations/ohip-runtime-wiring-cp27.md
T
2026-09-17 10:13:16 +08:00

36 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CP27 酒店办理运行入口
## 已实现范围
服务端默认仍返回Pending。现已具备明确启用后的统一入口:按持久员工确认的本地酒店、GROUP/FIT、NEW/UPDATE及Account,选择对应的专用办理组件;不从页面参数取地址、环境、外部Profile ID或凭据。原确认、逐次发送台账、查询回显和失败保留规则不变。
运行工厂使用平台同一DataSource:GROUP NEW使用forConfirmedGroup创建仓库及房量仓库;FIT NEW使用withConfirmedGuest;FIT UPDATE使用自身仓库提供的附件守卫。原件通过既有HotelBookingAttachmentSource读取,不另造下载通道。工厂构造不连接数据库、不读取Key,Key只在原HTTP客户端准备发送时读取。
FIT两条流程的工厂接线已有,但统一入口在建立任何客户端/查询/客档之前固定拒绝`HOTEL_RUNTIME_FIT_TA_UNSUPPORTED`。配置flags不能解除尚未实现的TA契约缺口。GROUP可在满足部署与环境验证条件后使用同一入口;本轮没有启用真实环境。
## 配置来源和格式
- `ohip.booking.enabled`:缺省false,返回Pending。关闭时不读取清单文件或凭据。
- `ohip.booking.manifest-file`:启用时必须是服务端绝对文件路径;启动读取一次,不热更新。文件最多2MiB,严格JSON版本1,未知/遗漏字段、重复键、尾随内容及重复酒店/Account/映射/流程均拒绝。
- 只接受HTTPS服务根,无用户信息、路径、查询或fragment。一个本地酒店仅能配置一个活动环境;未知酒店或Account不回退到其他条目。
- `credentialEnvironment`仅保存以OHIP_开头的环境变量名,Key由进程环境注入;不允许把Key写进JSON。员工API不暴露文件、摘要或凭据引用。
- codes为明确的本地代码→目标代码映射;accounts为已核对的外部Profile及固定联系人;operations/capabilities为已核对的目标平台操作与应用能力。加载器验证格式,不能代替目标平台真实权限或业务代码存在性核验。
- flows逐项明确附件关联类型、验证记录及环境策略。verificationRef指向部署人员的真实验证记录,字符串本身不证明验证通过。GROUP UPDATE须完成改日期策略验证后才能开放完整范围。
- 当前部署入口要求`occupancySplitEnabled=false`且明确提供Category。人数拆分需要每次预订的分配材料,不能把静态房数配置应用给任意团;既有底层拆分能力未被删除。
[示例清单](ohip-runtime-manifest.example.json)仅展示结构,酒店、Profile、地址、附件关联类型及验证记录均为占位符;TEN/GTT/GC/TA/BTQR等沿已确认业务规则列出,仍需目标环境确认。示例不是可启用的酒店配置,未将真实凭据或酒店资料保存到仓库。
## 续办与配置变更
运行摘要覆盖所选酒店/环境、服务地址、凭据环境变量名、所选Account/Contact/角色、流程、策略与核验记录、代码映射及能力;按稳定顺序计算,不包含Key值及其他酒店/未选Account。修改同一凭据引用的Key值支持正常轮换。
摘要加入四个现有Adapter的checkpoint,沿原Progress持久保存,不新建第二套状态表。重启使用原配置可以继续;改目标、账户、代码、能力或策略时原checkpoint不匹配,停止且保留已完成事实。不会用新配置重新标记原确认。旧scope与新scope不符,或只有scope没有checkpoint等不完整绑定,在调用业务组件前拒绝,避免向错误环境先查询。
首次准备查询失败且未产生checkpoint/targets时,不保存孤立scope,保留原事实,允许同次未写确认重新完整准备。下游执行异常继续交原worker区分写结果未知与查询失败,统一入口不将未知发送伪装成未发送。
## 验证和后续
本地配置/路由、Spring默认装配及H2+localhost的原worker流程用于验证实际工厂和持久守卫。覆盖GROUP NEW附件中断恢复、凭据轮换、GROUP UPDATE日期/完整房量/附件替换、首次查询失败恢复及配置变化停发。结果见[证据](../../../.project-docs/50-evidence/topics/2026-09-16-ohip-runtime-wiring-cp27.md)。
未部署或启用服务、未迁移实际MySQL、未读取已有凭据、未操作酒店。下一步仍按[CP26](ohip-fit-ta-and-readiness-cp26.md)准备平台8项接口发布、目标环境实际配置/权限证据和FIT TA准确契约,再做四流程测试环境验收;本轮不计作任何一条真实酒店流程已验收。