实现 M002 CP5 任务确认与 OPERA 模拟骨架
This commit is contained in:
@@ -191,9 +191,11 @@ Controller、Service、Service 实现类的方法必须有中文注释。Entity
|
||||
建议范围:
|
||||
|
||||
- 任务详情 Response 包含 AI 原始摘要、任务卡字段、可处理状态和阻塞原因。
|
||||
- 第一版任务卡字段矩阵写在代码 Provider 中,避免 Controller / Service 直接硬编码。
|
||||
- 第一版任务卡字段矩阵由 `reservation-task-card/field-matrix-v20260706.json` 资源和 Provider 提供,避免 Controller 直接硬编码。
|
||||
- 保存 `draft_payload_json`。
|
||||
- 确认时生成 `confirmed_payload_json`。
|
||||
- `field_values` 第一版使用矩阵 `field_path` 作为 key,不按 `write_path` 生成 OPERA 参数;后续真实 OPERA 接入时必须在 adapter / 转换层重新组装参数。
|
||||
- 确认时按 `task_subtype`、展示条件、必填、枚举、日期、数字等矩阵规则做第一版后端校验。
|
||||
- 审计用户字段修改和确认。
|
||||
|
||||
验收标准:
|
||||
@@ -203,6 +205,8 @@ Controller、Service、Service 实现类的方法必须有中文注释。Entity
|
||||
- 用户确认后任务进入 `READY`。
|
||||
- OPERA 参数不得从 `ai_payload_json` 读取。
|
||||
- 用户修改不覆盖 AI 原始 JSON。
|
||||
- 保存草稿接口:`PUT /api/reservation/tasks/{taskId}/draft`。
|
||||
- 最终确认接口:`POST /api/reservation/tasks/{taskId}/confirm`。
|
||||
|
||||
不做:
|
||||
|
||||
@@ -253,12 +257,11 @@ Controller、Service、Service 实现类的方法必须有中文注释。Entity
|
||||
建议范围:
|
||||
|
||||
- 从 `confirmed_payload_json` 生成模拟操作。
|
||||
- 每个任务可生成多条操作。
|
||||
- 第一版每个已确认任务固定生成两条 OPERA 模拟操作,后续接真实 OPERA 时再按任务类型扩展。
|
||||
- 每次执行或重试新增 attempt。
|
||||
- 失败任务进入 `FAILED`。
|
||||
- 模拟操作失败时只将该 `operation` 标记为 `FAILED`,任务不进入 `FAILED`,避免按队列规则误判为已结束并跳过失败 OPERA 操作。
|
||||
- 全部必要操作成功后任务进入 `COMPLETED`。
|
||||
- 从 `business_key_candidates_json` 回填订单业务号。
|
||||
- 第一版先在订单表设计 `business_key_source`、`business_key_backfilled_at` 等字段,OPERA 模拟执行模块后续再写入。
|
||||
- 第一版只保存模拟请求/响应摘要,不做 New Booking 业务号回填;订单表已预留 `business_key_source`、`business_key_backfilled_at` 等字段,后续真实 OPERA 或明确模拟返回结构后再写入。
|
||||
|
||||
验收标准:
|
||||
|
||||
@@ -267,12 +270,17 @@ Controller、Service、Service 实现类的方法必须有中文注释。Entity
|
||||
- 失败操作不能跳过。
|
||||
- 用户不能强制完成任务。
|
||||
- 重试不覆盖历史 attempt。
|
||||
- New Booking 无业务号时,模拟成功后可回填 Confirmation Number 或 Group Code 含义字段。
|
||||
- 执行接口:`POST /api/reservation/tasks/{taskId}/opera-operations/{operationId}/execute`。
|
||||
- 重试接口:`POST /api/reservation/tasks/{taskId}/opera-operations/{operationId}/retry`。
|
||||
- 审计列表接口:`GET /api/reservation/tasks/{taskId}/audits`。
|
||||
|
||||
不做:
|
||||
|
||||
- 不接真实 OPERA 接口。
|
||||
- 不写死真实 OPERA 返回字段路径。
|
||||
- 不做普通任务切换订单。
|
||||
- 不做 SuperAgent 查询上下文接口。
|
||||
- 不接用户身份权限,审计 actor 第一版仍使用本地占位。
|
||||
|
||||
## 11. Checkpoint 8:审计、查询和收口
|
||||
|
||||
|
||||
Reference in New Issue
Block a user