3.7 KiB
GROUP房量更新CP2-B交接
本地实现及测试完成;未发布、未启用实际酒店办理。本阶段CR。
交付
封装平台在独立分支feature/group-allocation-codex新增putBlockAllocation,固定PUT /api/v1/blocks/{blockID}/allocation。工作区位于父目录.planning/ohip-interface-review-20260915/platform-group-allocation,基线b5e1a30650c66dc2bdea7e42d6d7d84a16d5382f。原只读克隆保持干净,本地分支没有提交、推送或部署。
平台只接收一个实际Block的每日绝对数量,最多100房型、4000日期/房型格、366日;同一INITIAL/ACTUAL类别,one/two/three/fourPerson非负整数。正文单个酒店与Block必须匹配,拒绝歧义JSON及价格、超售等范围外参数。调用方负责完整新旧目标和显式清零,平台不推断房量类别或人数分列。
写入后用getBlockRoomRateGrid分页查询,包括零房量;类别大小写转换由平台处理。每个发送数量必须与实际查询一致;缺格、数量不同、错误Block、分页不全或重复冲突均不返回verified。实际查询页与核验范围/计数保留在resource.data;pending及成功请求重放只查询,unknown不重复写,相同键改变正文拒绝。
消费项目在既有OhipEdgeOperation/OhipEdgeProtocolConverter扩展一项固定契约,正文criteria绑定酒店与实际Block;识别getBlockRoomRateGrid读回及pages核验包,保持确认引用、稳定幂等键、单次发送和未知结果语义。结果仍为单步读回证据,businessComplete()保持false。没有新生产依赖、Spring注册、Controller、worker、数据库、实际凭据或工作台执行接线。
已验证
- 平台Go测试全部成功:94个顶层测试通过、9个数据库条件测试跳过;按最终测试场景统计277通过,其中新房量58个场景通过。覆盖输入范围、显式零、原生固定路径/请求、类别大小写、逐项读回、分页/冲突/缺失、确认重放、权限和审计拒绝。
- 平台go vet、服务构建、控制台JS语法及6项既有JS测试通过。Go1.26.8来自官方并校验SHA256,依赖通过官方Go代理及项目go.sum校验;未更改系统PATH。初次依赖连接超时改用本机既有网络代理后成功。
- 消费项目增加5项测试场景,适配器共41项通过;完整后端verify成功:1,436项、1,420通过、16条件跳过,0失败/错误。此前CP1保持。
- 已发布13项catalog测试保持独立,新增房量没有混入0.6.0线上目录切片。最后一次线上核对仍是0.6.0/111项,本地拟发布目录是0.7.0/112项;本次没有刷新或修改线上目录。
尚需完成
真实Oracle测试仍需确认INITIAL/ACTUAL、人数列映射、清零后的实际响应和跨日期变更约束。Oracle26.3定义同时出现date格式及maxLength8矛盾,本地用ISO十字符日期,未据离线测试清除CP1的待验标记。
本接口不会修改Block入住离店日期。改期时的整体顺序、旧日期清零、Block日期限制仍需验证。附件上传/替换/查询、FIT TA recorder写入、多笔FIT完整对象范围与最终字段核验、持久执行及员工回显仍在后续范围。没有声称四流程已完成。
平台复用blocks.write,不增加权限组或数据库迁移;部署后既有该组授权包含新操作,发布前需审查现有授权并重新规划manifest。当前没有做授权变更。
下一步补附件完整链路并继续核实FIT TA写入,随后进行测试环境联调和完整执行核验。所有已定产品规则保持,技术事项自主处理;必要时可先询问用户是否许可子智能体,本阶段未创建。