fix(ops): 修复派单时未更新工单 assigneeId 的问题

工单派发(PENDING -> DISPATCHED)时,更新工单表的 assigneeId 字段,
确保 BadgeDeviceStatusEventListener 能正确获取执行人设备ID并更新 Redis 缓存。

Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
This commit is contained in:
lzh
2026-01-29 23:04:43 +08:00
parent 9d2bbabf1c
commit 3ec7590e12

View File

@@ -151,6 +151,16 @@ public class OrderLifecycleManagerImpl implements OrderLifecycleManager {
// 设置目标状态
request.setTargetStatus(WorkOrderStatusEnum.DISPATCHED);
// 派单时更新工单的 assigneeId从 PENDING -> DISPATCHED
if (request.getAssigneeId() != null) {
OpsOrderDO order = opsOrderMapper.selectById(request.getOrderId());
if (order != null && order.getAssigneeId() == null) {
order.setAssigneeId(request.getAssigneeId());
opsOrderMapper.updateById(order);
log.debug("派发时更新工单执行人: orderId={}, assigneeId={}", request.getOrderId(), request.getAssigneeId());
}
}
// 执行状态转换
return transition(request);
}