实现V4数据库目录与Lookup接口

This commit is contained in:
andy
2026-07-19 14:36:11 +07:00
parent 145511620c
commit 88f98a0eb6
39 changed files with 2075 additions and 167 deletions

View File

@@ -444,7 +444,7 @@ V3 P0.1 不做以下事项:
- M002 V4 CP4 已补充新模型写入:普通 V4 业务包会额外创建 V4 订单任务、来源邮件展示卡、Basic Information 卡和业务卡;只有契约错误、没有合法业务 event 的包不会创建 V4 订单任务。
- M002 V4 CP4 后V4 `route_code=S10/S99` 写入 `workflow_reservation_v4_source_notification`不再创建隐藏技术订单或旧任务V3 S10/S99 和旧 S000/S999 仍保留历史兼容链路。
- M002 V4 CP5 已开放 V4 查询接口:`GET /api/reservation/workbench-items``GET /api/reservation/order-tasks``GET /api/reservation/order-tasks/{orderTaskId}``GET /api/reservation/source-notifications/{notificationId}`
- M002 V4 CP6/CP7/CP8 已开放 V4 普通卡片确认、S10/S99 来源通知 ack、`REVIEW_REQUIRED` 卡复核解阻、复核场景订单归属确认、固定种子目录校验V4 卡片 `fields[]` 字段白名单。
- M002 V4 CP6/CP7/CP8/CP11 已开放 V4 普通卡片确认、S10/S99 来源通知 ack、`REVIEW_REQUIRED` 卡复核解阻、复核场景订单归属确认、当前酒店数据库目录校验V4 卡片 `fields[]` 字段白名单和 Account / Room Type / Rate Code lookup API
- V4 包级契约错误在 `source_message.source_message_id` 可定位时只写 `adapter_contract_error` transition不创建订单、任务或用户可处理卡`source_message_id` 缺失或 SourceMessage 不存在时仍返回明确错误。
- V4 `PAYMENT.attachment_ids[]` 必须匹配 `source_message.attachments[].id`V4 `UPDATE_BOOKING` 不接受 `rate_code``after.rate_code`;这类契约错误只落 `adapter_contract_error` transition不创建用户可处理业务任务。
- 40 条 P0.1 路由枚举 / 稳定配置。
@@ -477,13 +477,13 @@ M002 V4 CP2 设计文档已落地:
- 文档路径:`docs/project/requirements/M002-v4-order-task-card-domain-model-cp2.md`
- 设计内容SourceMessage 邮件展示卡、S10/S99 来源通知、`source_message_id + order_ref` 订单任务、Basic Information 独立卡、每个 V4 event 的业务卡、卡片确认 / 复核 / 锁定、同订单阻塞、表结构草案和后续接口草案。
- 已确认V4 工作台统一列表新开 `/api/reservation/workbench-items`,业务订单任务新开 `/api/reservation/order-tasks/**`S10/S99 来源通知使用 `/api/reservation/source-notifications/**`S10/S99 采用来源通知模型;`FIT + BOOKING_CODE` 不建 ACTIVE 唯一约束匹配多条进人工复核Basic Information 必须先确认其它业务卡第一版不强制逐张确认Account / Market / Source 目录第一版使用后端固定种子数据
- 当前状态CP3 表结构 / Repository、CP4 入站写入新模型、CP5 查询接口、CP6 普通卡片确认 / S10/S99 ack、CP7 复核解阻CP8 固定目录 / 字段白名单已完成V4 前端页面仍未实现。
- 已确认V4 工作台统一列表新开 `/api/reservation/workbench-items`,业务订单任务新开 `/api/reservation/order-tasks/**`S10/S99 来源通知使用 `/api/reservation/source-notifications/**`S10/S99 采用来源通知模型;`FIT + BOOKING_CODE` 不建 ACTIVE 唯一约束匹配多条进人工复核Basic Information 必须先确认其它业务卡第一版不强制逐张确认Account / Market / Source 目录当前按数据库目录读取和派生,真实目录与 Lookup API 设计见 `M002-v4-real-catalog-lookup-api-design.md`
- 当前状态CP3 表结构 / Repository、CP4 入站写入新模型、CP5 查询接口、CP6 普通卡片确认 / S10/S99 ack、CP7 复核解阻CP8 目录校验 / 字段白名单和 CP11 DB 目录 / lookup API 已完成V4 前端页面仍未实现。
仍需后续 checkpoint 实现:
- V4 表结构和 Repository 落地已完成第一版:新增 V4 订单任务表、V4 任务卡表和 V4 来源通知表,并提供 Entity、Mapper、Repository、幂等创建、`order_context_index` 稳定排序、非 event 卡 `source_event_index=0` 和 version 乐观锁更新基础方法。
- V4 入站写入新模型已完成第一版:真正创建 SourceMessage 展示卡、Basic Information 卡、业务卡和 S10/S99 来源通知。
- V4 前端页面模型切换。
- 真实 PMS 目录、Rate Code 配置中心或通用 lookup API 接入;当前 CP8 只是后端固定种子目录第一版
- 真实 PMS 目录同步、Rate Code 价格 / 适用范围配置中心、目录管理后台和 SuperAgent 目录机器接口仍后置;当前 CP11 只是固定种子导入数据库并开放前端 lookup API不代表已接 PMS 全量目录。
- 真实 OPERA / OHIP、普通任务任意切换订单、字段矩阵从当前扁平结构整体迁移到 0711 P0 新结构、历史旧 Parent Cancel Booking payload 批量迁移。