# M06-F 订单自动联动 - 日期:2026-06-24 - 起始 commit:`e4941c2` - 工程 commit:`8936ad1` - ENGINEERING_DELTA=YES - 子阶段状态:PARTIAL/BLOCKED_EXTERNAL;任务处理闭环完成,缺真实硬件和生产 MQTT 验收 ## 工程增量 - 新增 `OrderDeviceAutomationService`,由 `device.command` 异步任务读取订单并下发硬件动作。 - `ORDER_PAID/ORDER_STARTED` 下发控制箱 `task`,并在房间已绑定智慧插座时打开插座。 - `ORDER_RENEWED` 下发控制箱 `addtask`,并保持插座开启。 - `ORDER_CANCELLED/ORDER_FINISHED` 下发 `canceltask` 并关闭智慧插座。 - `ORDER_ROOM_CHANGED` 先取消旧房间设备,再按当前订单房间重新启动联动。 - 终态订单的延迟开始/续费任务会跳过,不补发开门或通电命令。 - Worker CLI 已注册 `device.command` handler;命令仍复用 MQTT 发布、ACK 和失败补偿状态机。 ## 验证 - Windows `npm test`:退出码 0,M01-A 至 M06-F 全量后端回归通过。 - 新增测试覆盖开始、续费、取消、换房、无插座绑定跳过和终态保护。 - 工程 commit 已 push,`HEAD == origin/main == 8936ad1`。 ## 外部阻塞与后续 缺生产 MQTT 账号/ACL、控制箱、Sub-1G 门锁、4G 智慧插座、DeviceID 和现场配线,真实订单到硬件全链路仍保留 `BLOCKED_EXTERNAL`。游标进入 M06-G 真实硬件联调。