实现前端P0订单任务查询接口

This commit is contained in:
andy
2026-07-08 14:18:57 +08:00
parent b58c6baafe
commit 936a5921b0
29 changed files with 1582 additions and 56 deletions

View File

@@ -4,9 +4,9 @@
| 项目 | 内容 |
| --- | --- |
| 文档版本 | 0.1 |
| 日期 | 2026-07-07 |
| 状态 | 后端开发计划草稿 |
| 文档版本 | 0.2 |
| 日期 | 2026-07-08 |
| 状态 | 后端 checkpoint 计划与阶段实现记录 |
| 适用范围 | M002 后端实现拆分、交付物和验收标准 |
| 主要读者 | 后端、测试、产品、后续协作 agent |
@@ -295,16 +295,27 @@ Controller、Service、Service 实现类的方法必须有中文注释。Entity
- 订单任务审计查询。
- 任务列表基础筛选。
- 订单详情下任务时间线。
- 前端 P0 任务列表 / 工作台接口:`GET /api/reservation/tasks`
- 前端 P0 订单详情与任务时间线接口:`GET /api/reservation/orders/{orderId}`
- 安全日志检查。
- 关键接口集成测试。
验收标准:
- 能追溯 AI 接收、任务创建、订单挂靠、用户修改、确认、迁移、OPERA 模拟和重试。
- 前端可通过 `GET /api/reservation/tasks` 获取任务摘要、订单展示键、来源消息主题和实时可处理状态。
- 前端可通过 `GET /api/reservation/orders/{orderId}` 获取订单摘要和同订单任务时间线。
- 列表不返回完整 AI payload、邮件正文、附件 URL 或 Secret。
- 所有关键路径有测试覆盖。
- `./mvnw test` 通过,或明确说明环境问题。
当前实现记录:
- 已实现 `GET /api/reservation/tasks` 第一版,支持酒店、订单、任务类型、任务状态、任务 subtype、队列参与、关键词和分页筛选。
- 已实现 `GET /api/reservation/orders/{orderId}` 第一版,支持返回订单摘要和任务时间线,`include_tasks=false` 时只返回订单摘要。
- 两个接口均复用同订单队列可处理状态计算,`FAILED``COMPLETED` 视为结束,不阻塞后续任务。
- 本轮未实现订单列表、Message Notification 独立列表 / 详情、任务卡前端字段白名单元数据接口。
## 12. 建议开发节奏
建议一次只做一个 checkpoint。每个 checkpoint 完成后:

View File

@@ -14,7 +14,7 @@
本文是 `M002-order-task-workflow-v1.md` 的第二版修正,目标是把本项目已经讨论确认的订单任务主流程,与 2026-07-06 导入的 AI 任务卡契约对齐。
本文定义业务边界、数据语义和后续实现约束。当前后端已经按拆分 checkpoint 实现了 AI 结果接收、订单任务基础流转、任务草稿保存、最终确认、审计列表、OPERA 模拟骨架,以及 SuperAgent 查询上下文接口 1、2 的最小字段版;前端页面、真实 OPERA、普通任务切换订单、查询接口 3 和查询接口 4 仍未实现。
本文定义业务边界、数据语义和后续实现约束。当前后端已经按拆分 checkpoint 实现了 AI 结果接收、订单任务基础流转、任务草稿保存、最终确认、审计列表、OPERA 模拟骨架SuperAgent 查询上下文接口 1、2 的最小字段版,以及前端 P0 任务列表 / 订单详情查询接口;前端页面、真实 OPERA、普通任务切换订单、查询接口 3 和查询接口 4 仍未实现。
## 2. 本版核心修正
@@ -25,7 +25,8 @@
- 系统主任务类型收敛为 `NEW_BOOKING``UPDATE_BOOKING``CANCEL_BOOKING``MANUAL_REVIEW`,另保留 `INFORMATIONAL_MESSAGE` 作为不参与执行队列的只读提醒任务。
-`New Booking``Cancel Booking``Fallback/manual_review` 外,其他业务处理类卡片原则上都归到 `UPDATE_BOOKING` 下的不同任务卡。
- `Message Notification` 也挂到临时订单下面,便于归档和详情查看,但不参与订单任务执行队列,不阻塞其他任务,也不被其他任务阻塞。
- 任务卡字段`任务卡展示编辑矩阵.xlsx` 为权威来源,不在代码里随意扩展或重命名字段路径。
- 任务卡后端完整规则`任务卡展示编辑矩阵.xlsx` 为权威来源,不在代码里随意扩展或重命名字段路径。
- 前端展示 / 编辑白名单以最新导入的 `任务卡前端展示字段表 3.0.xlsx` 为准;该文件只约束前端展示和可编辑范围,不替代后端完整校验、确认写入和 OPERA 映射规则。
- 系统必须同时保存 AI 原始 `task_type`、系统主任务类型、任务卡类型和业务动作 subtype。
- `ai_payload_json``confirmed_payload_json` 必须分离。OPERA 模拟只能读取用户确认后的 `confirmed_payload_json`
- 订单业务号候选字段和 OPERA 模拟回填边界需要明确记录,但 OPERA 返回 JSON 字段名目前未知,不能写死。
@@ -40,7 +41,8 @@
| `docs/project/requirements/M002-order-task-workflow-v1.md` | 第一版整体业务流程 |
| `docs/import/20260706/开发AI先读_工作顺序.md` | AI 过渡表、任务卡、确认 payload 和 OPERA 写入工作顺序 |
| `docs/import/20260706/AI输出参数并集字典.xlsx` | AI 输出字段路径、字段含义、建议存储方式和索引建议 |
| `docs/import/20260706/任务卡展示编辑矩阵.xlsx` | 任务卡字段展示、编辑、校验和 OPERA 写入约束 |
| `docs/import/20260706/任务卡展示编辑矩阵.xlsx` | 后端任务卡完整规则来源包括校验、确认写入、OPERA 映射和展示条件 |
| `docs/import/20260708/任务卡前端展示字段表 3.0.xlsx` | 前端任务卡展示 / 编辑白名单,不替代后端完整规则矩阵 |
| `docs/import/20260706/0630AI_副本 2/01_main_agent_prompt.md` | Main Agent 输出职责和聚合 JSON 结构 |
| `docs/import/20260706/0630AI_副本 2/02_agent_workflow.md` | AI 侧事件拆分、Skill 调用和结果聚合流程 |
| `docs/import/20260706/0630AI_副本 2/03_skill_catalog.md` | Skill 目录、结果类型、任务类型和统一输出字段 |
@@ -49,7 +51,7 @@
| `docs/import/20260706/0630AI_副本 2/skill/*/references/rate_code_rules.md` | Rate Code 判断规则 |
| `docs/import/20260706/0630AI_副本 2/skill/*/references/room_type_mapping_rules.md` | 房型映射规则 |
说明:`开发AI先读_工作顺序.md` 中提到的 `AI过渡表开发契约_README.md``AI过渡表开发契约_两张样例表.xlsx` 在当前导入目录下未找到同名文件。当前以已经导入的两张独立 Excel 作为字段和任务卡矩阵来源
说明:`开发AI先读_工作顺序.md` 中提到的 `AI过渡表开发契约_README.md``AI过渡表开发契约_两张样例表.xlsx` 在当前导入目录下未找到同名文件。当前以后端完整规则矩阵、AI 输出参数字典和前端 3.0 白名单共同作为字段来源;三者职责不同,不能互相覆盖
## 4. 总体流程
@@ -213,7 +215,12 @@ AI 第一版结果类型只接受:
## 9. 任务卡字段约束
任务卡字段`docs/import/20260706/任务卡展示编辑矩阵.xlsx` 为权威来源。系统不得直接把整个 `ai_task_results[]` 渲染成表单,也不得绕过矩阵自行扩展字段含义。
任务卡字段来源按职责拆分:
- 后端校验、确认写入、OPERA 映射和展示条件以 `docs/import/20260706/任务卡展示编辑矩阵.xlsx` 为权威来源。
- 前端展示 / 编辑白名单以 `docs/import/20260708/任务卡前端展示字段表 3.0.xlsx` 为准。
- 系统不得直接把整个 `ai_task_results[]` 渲染成表单,也不得绕过矩阵自行扩展字段含义。
- 如果后端完整规则与前端白名单出现冲突,例如旧矩阵要求必填但 3.0 白名单未开放展示或编辑,应先记录为前后端契约待确认问题,不由前端或后端单方面放宽规则。
字段矩阵通过以下列控制任务详情页行为:
@@ -505,4 +512,4 @@ Fallback 处理规则:
6. 实现任务详情字段展示、编辑、确认和 `confirmed_payload_json`。当前后端已实现保存草稿和最终确认接口,前端页面待定。
7. 实现任务队列阻塞规则和 `Message Notification` 只读归档规则。当前后端已实现阻塞规则和只读提醒归档的基础能力,前端页面待定。
8. 实现 OPERA 模拟操作结果底表、重试和订单业务号回填。当前后端已实现固定两条模拟操作、attempt、执行、重试和审计列表订单业务号回填待真实 OPERA 返回结构确认后再做。
9. 根据前端页面范围实现列表、详情和只读/可处理状态展示。
9. 根据前端页面范围实现列表、详情和只读/可处理状态展示。当前后端已实现 `GET /api/reservation/tasks``GET /api/reservation/orders/{orderId}` 第一版前端页面和订单列表、Message Notification 独立列表 / 详情、任务卡字段白名单元数据接口仍待后续确认。