Files
2026-07-13 19:57:46 +08:00

3.1 KiB
Raw Permalink Blame History

业务交接:已有订单更新与旅客名单

业务目标与触发

目标:把已有 ERP 订单的房间、备注、组合修改、旅客导入或旅客行修正整理为 update_order task并在保存后回查 ERP。

触发:修改 TWN/房间、追加备注、修改 xiadanbeizhu、补充旅客名单、修正旅客行、把附件导入已有订单。没有已有 identifier 时不得进入更新脚本。

Skill 标准化

使用 skills/erp-coordinator 和 skills/erp-update-order。Skill 必须保留 identifier使用 updatePlan.actions 区分 set、delta、append、traveler_upsert价格/人数跨路由仍是 optional/unverified。Excel/CSV 只进 attachments 路径Skill/agent 不读取、复制或改写工作簿行。

Task JSON

operation=update_ordertask 必须有 schemaVersion=erp-task-v1、非空 identifier、updatePlan.actions 数组、attachments 和 originalText。旅客 fixture 不包含 travelers 行数据,解析、行数校验、导入和 PII 脱敏由脚本层负责。

示例skills/erp-update-order/tests/fixtures/update-room-remark.json 和 update-traveler-attachment.json。

脚本与工具

node scripts/validate_erp_task.js --task <task.json> --json
node scripts/run_update_order.js --task <task.json> --mode dry-run --json

后续进入 update parser、traveler-list parser/import、route updateOrder、dispatcher duplicate fingerprint、registry 和 ERP re-query。备注字段必须保持 xiadanbeizhu 语义。

结果

dry_run 展示 updatePlan 和计划路由completed 只有在 ERP 回查确认后才能回复blocked/invalid_task 表示编号、字段、附件或安全门禁问题execution_uncertain 不能盲目重复;旅客导入失败不能触发无关字段重保存。

阻塞与恢复

缺 identifier、更新目标不清、delta 基准未知、附件行数不匹配、重复 fingerprint、旅客 import 未验证、session/锁失败都阻塞。相同 update 不得静默重复;如已确认保存但交付失败,走相应 recovery不覆盖订单。

测试与证据

  • Skill quick_validateskills/erp-update-order。
  • 内容/行为测试tools/tests/erp_update_order_skill_content.test.js、erp_update_order_skill_behavior.test.js。
  • room/remark 和 traveler attachment fixture dry-run 通过;未读取实际附件、未真实保存。
  • 既有 update parser、traveler import、route browser-operation 测试和 npm test 是回归门槛。

风险

编号丢失、 broad overwrite、重复更新、旅客 PII 泄露、Excel 隐藏行/日期格式、HTTP 200 假成功、price/pax 未验证是主要风险。缓解identifier 强制、结构化 actions、附件路径隔离、parser 行数验证、审计脱敏、保存后回查。

负责人

Skill 规则负责人维护自然语言到 actions 的映射;脚本负责人维护 parser/import/update handlerERP 运行负责人负责真实 session 和回查授权。交接日期2026-07-12。

下一步

继续补齐 price/pax 的路由验证矩阵;任何真实旅客导入先使用 dry-run 检查 visible rows、hidden rows、日期和 adult count再单独授权 execute。