4.5 KiB
预订和团队附件 CP2-C 交接
附件六项固定操作已完成本地实现与验证,尚未发布或在 Oracle 酒店环境联调。本阶段 CR。
产品结果
四种新建/修改流程均可准备最终确认附件的单步调用。上传后查询实际附件并下载核对内容;旧文件仍存在时,返回“旧版待清理”的证据,只有指定旧文件和替代文件都通过归属、内容检查才允许精准删除。失败或查询不确定时保留当前步骤状态,不把同名文件或 HTTP 成功当作整体完成。
用户既定规则保持:员工确认一次;最终输入提供附件集合、实际目标与旧附件对应;Name、Description 取 Tour Code,UPDATE 替换对应旧文件。没有自动上传全部邮件附件、自行挑选旧文件、猜扩展名或重置已确认业务参数。加床不在本阶段。
实现范围
平台隔离分支 feature/booking-attachments-codex 位于父目录 .planning/ohip-interface-review-20260915/platform-booking-attachments,基线 b5e1a30650c66dc2bdea7e42d6d7d84a16d5382f,已导入 CP2-B 验证补丁,原 CP2-B 工作区保持。本地累计目录0.8.0/118项/13权限组;本轮 CLI 最新公开目录仍0.6.0/111项,无附件操作。
六项为 getBlockAttachments、getReservationAttachments、getFileAttachment、uploadFileAttachment、deleteBlockAttachment、deleteReservationAttachment。媒体读写另需 attachments.read/write 和对应父对象权限;迁移0007仅扩展约束,不自动授权。服务就绪检查要求新约束,发布前需协调旧实例退出、迁移和授权审查。
平台与消费端均绑定实际 Reservation/Block ID 和酒店。上传前核对旧 ID/内容摘要,上传后下载核对 SHA256、文件名、说明、归属;不猜 Location 中的附件编号,不访问附件 URL。支持原 ID 覆盖与生成新 ID,旧文件仍在时独立完成精准清理。DELETE 的 Edge 父对象路径通过正文精确指定一份旧附件,原生调用仍是子资源 DELETE。
消费端 OhipEdgeOperation 现有20项,13项已发布切片仍独立,房量加六项附件属于本地契约。OhipEdgeAttachmentConverter 专职校验附件请求、实际文件读回与替换证据。上传16MiB JSON/原文件1..9,999,999字节,其余请求2MiB;平台返回证据上限16MiB,消费响应上限18MiB。沿用同一次确认、稳定幂等键、单次 HTTP 和未知写入不自动重发。内容/外部错误不写日志;businessComplete 始终 false。
没有 Spring 注册、Controller、worker、数据库业务变更、凭据、工作台执行接线或真实酒店操作。没有提交、推送、部署、修改实际授权或代发支持请求。
验证
- 平台 Go:102个顶层测试通过;按叶子场景322通过、9个数据库条件测试跳过。其中附件39个场景通过。覆盖两类父对象、原/新编号替换、同内容不同编号、内容/归属错误、重复、限制、精确删除、幂等未知/重放、确认、权限和审计。
- 平台 go vet、服务构建、JS语法与12项控制台测试通过。
- 消费端附件新增18项、原适配器41项通过;完整 verify 共1,454项,1,438通过、16条件跳过、0失败/错误。
- 数据库迁移就绪与旧授权保持测试已更新,但数据库条件测试未运行;不能称迁移已在实际数据库验证。
待验证和下一步
Oracle上传 linkType 不猜默认值;部署须给已核实的 Reservation/Block 映射,未配置时拒绝上传。真实环境仍需确认界面 Name 与 fileName/扩展名的对应、同名覆盖返回、关联档案的影响、元数据 hotel/global/type/idContext、附件数量/大小与并发删除行为。原生契约没有原子条件删除,预查后的外部并发修改仍需联调与运行协调。
本轮唯一获准子智能体只读检查61份 REST 规范/3,641操作,固定Oracle26.3提交dd631fbd…:FIT 搜索有 taRecordLocatorList;postReservation/putReservation/getReservation 仍无明确 TA recorder 写入/读回字段。FOF 的 commissionDetailType.recordLocator 明确用于 TA 查询,但 changeCommission 请求不含此字段,不能据此实现写入。保留缺口,不替代成 customReference、guestLocators 或外部引用。
下一步核对平台发布与测试权限/配置,再验证附件真实行为、GROUP跨日期房量顺序、FIT实际多笔预订及TA字段支持。最终执行、动态失败汇总和员工回显仍须后续接线;本阶段没有声称四流程全部完成。