实现 M002 V3 入站解析与路由基线

This commit is contained in:
andy
2026-07-11 14:11:18 +08:00
parent c5e72078e5
commit 3589bd99c7
22 changed files with 2306 additions and 72 deletions

View File

@@ -4,9 +4,9 @@
| 项目 | 内容 |
| --- | --- |
| 文档版本 | 0.1 |
| 日期 | 2026-07-07 |
| 状态 | 后端数据模型与阶段实现记录 |
| 文档版本 | 0.2 |
| 日期 | 2026-07-11 |
| 状态 | V2 后端数据模型与阶段实现记录V3 新开发和当前实现状态以 `M002-order-task-workflow-v3.md` 为准 |
| 适用范围 | AI 过渡层、订单、任务、任务卡、审计和 OPERA 模拟结果 |
| 主要读者 | 后端、数据库、测试、后续协作 agent |
@@ -16,6 +16,8 @@
本文不是完整最终模型。当前后端已经按本模型落地第一阶段 Flyway migration、Entity、Mapper、Repository、Service 和测试;后续真实 OPERA、前端页面和 SuperAgent 查询上下文接口仍需继续补充。
2026-07-11 后M002 V3 已确认采用 0711 P0 冻结基线。后续数据模型扩展必须支持结构化 `S10/S99``message_events[]`、42 路由、方案 C 中的 AI 原始三元组 / 系统处理分类分离、type-known manual review 同卡解阻和 `adapter_contract_error`,不能只沿用本文的 `ai_task_results[]` 阶段模型。
## 2. 设计原则
- 保留 AI 原始 JSON不覆盖、不重写、不丢字段。
@@ -123,7 +125,7 @@
表名:`workflow_reservation_ai_transition`
一条 `ai_task_results[]` item 对应一行。
V2 一条 `ai_task_results[]` item 对应一行。M002 V3 后,`message_events[]``S10/S99` 入口通知、`unhandled_current_intents[]` 和 adapter 契约错误也统一以 transition 方式追溯保存。
| 字段 | 类型建议 | 中文说明 |
| --- | --- | --- |
@@ -136,8 +138,10 @@
| `execution_order` | `INT` | 映射到订单任务队列的初始顺序 |
| `catalog_code` | `VARCHAR(32)` | Skill 目录代码 |
| `skill_id` | `VARCHAR(128)` | Skill 标识 |
| `result_type` | `VARCHAR(32)` | AI 结果类型 |
| `result_type` | `VARCHAR(64)` | AI 结果类型,例如 `normal_task``manual_review``source_message_review_notification``adapter_contract_error` |
| `ai_task_type` | `VARCHAR(64)` | AI 原始任务类型 |
| `route_code` | `VARCHAR(64)` | M002 V3 派生路由码S10/S99 使用外部 route_code业务事件使用系统稳定路由码 |
| `system_process_category` | `VARCHAR(64)` | 系统处理分类:`BUSINESS_TASK``SOURCE_MESSAGE_NOTIFICATION``UNHANDLED_CURRENT_INTENT``ADAPTER_CONTRACT_ERROR` |
| `system_task_type` | `VARCHAR(64)` | 系统主任务类型 |
| `task_card_type` | `VARCHAR(64)` | 任务卡类型 |
| `task_subtype` | `VARCHAR(128)` | 业务动作 subtype |
@@ -157,6 +161,8 @@
| `informational_message_json` | `LONGTEXT` | 信息提醒 JSON |
| `attachments_json` | `LONGTEXT` | 附件 JSON |
| `context_used_json` | `LONGTEXT` | 上下文 JSON |
| `adapter_error_code` | `VARCHAR(128)` | Adapter 契约错误代码,仅在当前 event 不建业务任务时保存 |
| `adapter_error_message` | `VARCHAR(512)` | Adapter 契约错误说明,仅保存安全摘要 |
| `created_at` / `updated_at` | `DATETIME(6)` | 创建和更新时间 |
索引建议:
@@ -164,6 +170,8 @@
- 唯一索引:`hotel_id + item_idempotency_key`
- 普通索引:`hotel_id + source_message_id + source_event_index`
- 普通索引:`hotel_id + result_type + ai_task_type`
- 普通索引:`hotel_id + route_code`
- 普通索引:`hotel_id + system_process_category`
- 普通索引:`hotel_id + group_code`
- 普通索引:`hotel_id + confirmation_number`
@@ -394,7 +402,7 @@
- 任务阻塞状态:实时计算,不落 `BLOCKED`
- OPERA 真实接口字段映射:后续真实系统接入后在 adapter 层补充。
- 全量 Excel 字段路径:后端引用 `docs/import/20260706/任务卡展示编辑矩阵.xlsx` 作为完整规则来源,不手抄成数据库。
- 前端展示 / 编辑白名单:前端引用 `docs/import/20260708/任务卡前端展示字段表 3.0.xlsx`,该白名单不作为后端校验和 OPERA 映射的替代来源。
- 前端展示 / 编辑白名单:V2 阶段前端引用 `docs/import/20260708/任务卡前端展示字段表 3.0.xlsx`V3 起以 2026-07-11 P0 冻结基线中的前端 Excel 和路由说明为准。前端白名单不作为后端校验和 OPERA 映射的替代来源。
## 15. 待确认问题