停止V4入站双写旧任务

This commit is contained in:
andy
2026-07-20 17:18:28 +07:00
parent d45ff5b4ed
commit 626e87abdb
16 changed files with 438 additions and 69 deletions

View File

@@ -14,9 +14,9 @@
本文把 2026-07-18 导入的业务基线、Agent 回调问题答复、草案审查答复和剩余 10 项确认回复,整理为 M002 V4 的 Agent 回调字段契约。
本契约用于后续 M002 V4 主流程设计、后端领域建模、前端页面模型、Adapter / MCP Schema 对齐和 SuperAgent 联调。当前后端已按本文完成 V4 入站解析基线:能识别 V4 包、校验关键契约、保存 AI transition / 任务卡原始 payload并把可映射的六类 event 先接入现有订单任务链路
本契约用于后续 M002 V4 主流程设计、后端领域建模、前端页面模型、Adapter / MCP Schema 对齐和 SuperAgent 联调。当前后端已按本文完成 V4 入站解析和多卡模型基线:能识别 V4 包、校验关键契约、保存 AI transition / 任务卡原始 payload并把可映射的六类 event 写入 V4 订单任务和任务卡模型
V4 订单任务与多卡领域模型的 CP2 设计已经单独落到 `M002-v4-order-task-card-domain-model-cp2.md`。截至 CP14表结构、Entity、Mapper、Repository、SuperAgent V4 入站写入、V4 查询、普通卡片确认、S10/S99 ack、V4 复核解阻、数据库目录、Account / Room Type / Rate Code Lookup API、目录管理后台 CP1 后端接口,以及订单列表 V4 继续处理入口字段已实现。真实 PMS 同步仍后置,方案见 `M002-v4-real-catalog-lookup-api-design.md`
V4 订单任务与多卡领域模型的 CP2 设计已经单独落到 `M002-v4-order-task-card-domain-model-cp2.md`。截至 CP14 和停止旧任务双写 checkpoint表结构、Entity、Mapper、Repository、SuperAgent V4 入站写入、V4 查询、普通卡片确认、S10/S99 ack、V4 复核解阻、数据库目录、Account / Room Type / Rate Code Lookup API、目录管理后台 CP1 后端接口订单列表 V4 继续处理入口字段,以及 V4 普通业务不再创建旧 `workflow_reservation_task` 已实现。真实 PMS 同步仍后置,方案见 `M002-v4-real-catalog-lookup-api-design.md`
当前已确认开发阶段数据可以清空,因此 M002 V4 后续可以按新模型重建,不要求兼容旧任务数据、旧草稿、旧 OPERA 模拟、旧 `S000/S999`、旧 Fallback 或旧 `case_keys`

View File

@@ -4,19 +4,19 @@
| 项目 | 内容 |
| --- | --- |
| 文档版本 | 0.7 |
| 文档版本 | 0.8 |
| 日期 | 2026-07-20 |
| 状态 | CP2 设计已确认CP3-CP8、CP11、CP13、CP14V4 业务审计查询已实现 |
| 状态 | CP2 设计已确认CP3-CP8、CP11、CP13、CP14V4 业务审计查询和停止 V4 普通业务双写旧任务已实现 |
| 适用范围 | M002 V4 入站后的订单任务、多卡、状态、查询和写操作设计 |
| 不适用范围 | V4 复核接口、真实 PMS / OPERA / OHIP、前端页面视觉稿、历史数据迁移 |
| 不适用范围 | 真实 PMS / OPERA / OHIP、前端页面视觉稿、生产历史数据迁移 |
## 1. 文档定位
M002 V4 CP1 已完成 SuperAgent V4 回调包入站解析、基础校验、路由适配和 AI transition 最小落库。CP1 仍然把可映射的 V4 event 临时接入 M002 V3 的订单 / 任务 / 任务卡链路。
M002 V4 CP1 已完成 SuperAgent V4 回调包入站解析、基础校验、路由适配和 AI transition 最小落库。早期 CP1 把可映射的 V4 event 临时接入 M002 V3 的订单 / 任务 / 任务卡链路;开发阶段最新决策已停止 V4 普通业务入站双写旧 `workflow_reservation_task`
本文是 CP2 设计文档,用于把 2026-07-18 V4 字段契约落成后续可开发的数据模型和接口草案。
截至 CP14V4 业务审计查询补齐,后端已实现本文第 10、11、12 节中的持久化和查询基线,并已把 SuperAgent V4 入站结果写入新表:普通业务包创建 V4 订单任务、来源邮件展示卡、Basic Information 卡和业务卡V4 S10/S99 创建来源通知。当前已开放 V4 工作台、订单任务列表 / 详情、来源通知详情查询接口、订单详情 V4 订单任务时间线、V4 卡片确认接口、S10/S99 来源通知 ack 接口、V4 `REVIEW_REQUIRED` 卡复核解阻接口、V4 订单任务 / 来源通知审计查询接口、当前酒店数据库目录校验、卡片 `fields[]` 白名单、Account / Room Type / Rate Code lookup API、目录管理后台 CP1以及订单列表 V4 继续处理入口字段。真实 PMS 同步继续后置,设计见 `M002-v4-real-catalog-lookup-api-design.md`
截至 CP14V4 业务审计查询和停止旧任务双写补齐,后端已实现本文第 10、11、12 节中的持久化和查询基线,并已把 SuperAgent V4 入站结果写入新表:普通业务包创建 V4 订单任务、来源邮件展示卡、Basic Information 卡和业务卡,不再创建旧 `workflow_reservation_task`V4 S10/S99 创建来源通知。当前已开放 V4 工作台、订单任务列表 / 详情、来源通知详情查询接口、订单详情 V4 订单任务时间线、V4 卡片确认接口、S10/S99 来源通知 ack 接口、V4 `REVIEW_REQUIRED` 卡复核解阻接口、V4 订单任务 / 来源通知审计查询接口、当前酒店数据库目录校验、卡片 `fields[]` 白名单、Account / Room Type / Rate Code lookup API、目录管理后台 CP1以及订单列表 V4 继续处理入口字段。真实 PMS 同步继续后置,设计见 `M002-v4-real-catalog-lookup-api-design.md`
后续如本文与 `M002-v4-agent-callback-field-contract.md` 的字段契约冲突,以字段契约为准;如与安全边界冲突,以 `security-access-control-boundary.md` 为准。
@@ -27,7 +27,7 @@ M002 V4 CP1 已完成 SuperAgent V4 回调包入站解析、基础校验、路
| 入站识别 | 已识别 `route_code``source_message``order_contexts[]``message_events[]` | CP4 已把有合法 event 的 `order_ref` 建成订单任务聚合CP5 已开放 V4 安全查询接口 |
| SourceMessage | 已按 `source_message.source_message_id` 反查 SourceMessage Inbox | CP4 已固定生成普通业务包内邮件展示卡;邮件正文完整读取仍走 SourceMessage 会话接口 |
| Basic Information | 已写入 V4 Basic Information 独立卡 | CP6 已支持确认并锁定CP7 已支持复核解阻CP8 已支持目录校验和 `fields[]` 白名单CP11 已改为按当前酒店数据库 Account 目录校验并派生 Market / Source |
| 业务 Event | 可映射 event 临时创建旧 `workflow_reservation_task`,并已额外创建 V4 业务卡 | 旧任务链路仍作前端过渡兼容,后续 V4 查询和写接口完成后再逐步废弃 |
| 业务 Event | V4 新业务主线已只创建 V4 order task / cards不再双写旧 `workflow_reservation_task` | 旧 V2/V3 入站代码仍可作为历史参考保留,但开发阶段不维护旧任务兼容,测试数据可重建 |
| 技术错误 | 已落 `adapter_contract_error` transition | 已符合目标方向:不创建用户可处理卡 |
| 草稿 / READY / OPERA | 仍复用 V3 草稿、READY 和 OPERA 模拟骨架 | V4 新数据确认口径是不保存草稿、确认后锁定、当前不生成 OPERA |
| 前端查询 | 复用旧任务列表和任务详情 | CP5 已开放 V4 工作台、订单任务列表 / 详情、来源通知详情和订单详情 V4 时间线 |
@@ -661,7 +661,15 @@ GET /api/reservation/orders
- Basic 已确认后,业务卡中 `REVIEW_REQUIRED` 优先于普通 `PENDING_CONFIRM`
- `next_v4_action_type=CONFIRM` 时前端调用卡片确认接口;`REVIEW` 时调用复核解阻接口;`NONE` 表示该订单没有 V4 待处理入口。
前端订单列表“继续处理”应优先使用 `next_v4_order_task_id` 跳转 V4 订单任务详情;没有 V4 待处理入口时,再回退旧 `next_processable_task_id`
前端订单列表“继续处理”应优先使用 `next_v4_order_task_id` 跳转 V4 订单任务详情;没有 V4 待处理入口时,开发阶段通常不再回退旧任务入口。`next_processable_task_id` 仅作为历史 V2/V3 诊断兼容字段保留,测试数据清理后新 V4 订单不应返回该字段
开发 / 测试阶段旧任务口径:
- V4 普通业务入站不再创建旧 `workflow_reservation_task`,也不再创建旧 `workflow_reservation_task_card`、旧任务草稿、旧 OPERA 模拟操作。
- `open_task_count` 仍表示旧任务表原始未关闭诊断计数;开发 / 测试环境应通过专项 SQL 清理旧任务及其直接依赖数据,清理后新 V4 订单列表中该值应为 0。
- `next_processable_task_id` 仍按旧 V2/V3 队列实时计算,但开发阶段不维护旧任务兼容;清理旧任务后,新 V4 订单不应再返回旧任务入口。
- 开发阶段不维护 V2/V3 旧任务兼容,测试数据可重建。
- 该策略仅限开发 / 测试阶段,不代表生产迁移方案;生产数据迁移策略不在本 checkpoint 处理,后续上线前另开迁移方案。
### 12.7 V4 业务审计查询
@@ -749,7 +757,7 @@ S10/S99 已确认采用来源通知模型,不继续复用隐藏技术订单或
## 14. 旧 V3 / V2 兼容和废弃边界
开发阶段已确认可以清空数据,因此后续 V4 开发可以不迁移历史任务数据。
开发阶段已确认可以清空数据,因此后续 V4 开发可以不迁移历史任务数据。V4 后新业务主线只写 V4 模型;开发阶段不维护 V2/V3 旧任务兼容,测试数据可重建。该策略仅限开发 / 测试阶段,不代表生产迁移方案;生产数据迁移策略不在本 checkpoint 处理,后续上线前另开迁移方案。
### 14.1 可继续保留
@@ -776,7 +784,7 @@ S10/S99 已确认采用来源通知模型,不继续复用隐藏技术订单或
- `workflow_reservation_task` 作为 V4 多卡主模型的直接承载方式。
- 旧 V2/V3 任务详情、草稿保存和最终确认接口,待 V4 新模型落地并完成前端切换后逐步废弃。
废弃前必须先确认前端、MCP、SuperAgent 联调方和测试 fixture 都已切到 V4。
开发 / 测试环境旧任务清理参考 `../operations/dev-test-v4-legacy-task-cleanup.md`。废弃或删除生产历史链路前,必须先确认前端、MCP、SuperAgent 联调方和测试 fixture 都已切到 V4,并单独制定生产迁移方案
## 15. 安全、权限和审计