目标:订单查询或等待刷卡阶段检测到餐盘移除时,取消本轮待结算并恢复等待放盘;读卡或扣款已经开始后不强制中断。
架构:ConsumptionFlowStateMachine 判定是否可立即取消,ConsumptionActivity 清理订单、读卡门禁和页面上下文,ConsumptionOrderCoordinator 使迟到响应失效。本地已获取订单标记为取消,不生成结算上传任务。
| 移盘时状态 | 处理 |
|---|---|
LOADING_ORDER | 取消查询会话,迟到响应作废,返回 WAITING_TRAY |
WAITING_CARD | 取消已武装但尚未开始的卡交易,记录取消原因,返回 WAITING_TRAY |
| 读卡、扣款、反馈阶段 | 仅记录餐盘离开,不中断硬件处理 |
| 终态 | 保持现有终态复位逻辑 |
CANCELLED_TRAY_REMOVED、释放订单会话并清空页面上下文。NOT_REQUIRED,不生成任何上传任务,并纳入有界保留策略。设备验收边界:仍需在实体设备上验证餐盘移除事件的防抖与真实硬件时序。执行过程中不做 Git 暂存、提交、推送或分支操作。