refactor(ops): address code review comments for confirm handler

This commit is contained in:
lzh
2026-01-19 14:52:42 +08:00
parent d933bbf92c
commit 73bc3b299f

View File

@@ -44,6 +44,10 @@ public class CleanOrderConfirmEventHandler implements RocketMQListener<String> {
private static final String DEDUP_KEY_PATTERN = "ops:clean:dedup:confirm:%s";
private static final int DEDUP_TTL_SECONDS = 300;
private static final String TTS_ORDER_IN_PROGRESS = "工单已在进行中";
private static final String TTS_CANNOT_CONFIRM = "当前状态无法确认工单";
private static final String TTS_CONFIRM_SUCCESS = "工单已确认,请前往作业区域开始作业";
@Resource
private ObjectMapper objectMapper;
@@ -94,14 +98,14 @@ public class CleanOrderConfirmEventHandler implements RocketMQListener<String> {
// 4. 状态检查
// 如果已在进行中 (CONFIRMED or ARRIVED),提示"工单已在进行中"
if (currentStatus == WorkOrderStatusEnum.CONFIRMED || currentStatus == WorkOrderStatusEnum.ARRIVED) {
sendTTS(event.getDeviceId(), "工单已在进行中");
sendTTS(event.getDeviceId(), TTS_ORDER_IN_PROGRESS);
return;
}
// 检查是否可以确认
if (!currentStatus.canConfirm()) {
log.warn("[CleanOrderConfirmEventHandler] 当前状态无法确认工单: orderId={}, status={}", orderId, currentStatus);
sendTTS(event.getDeviceId(), "当前状态无法确认工单");
sendTTS(event.getDeviceId(), TTS_CANNOT_CONFIRM);
return;
}
@@ -111,7 +115,7 @@ public class CleanOrderConfirmEventHandler implements RocketMQListener<String> {
.targetStatus(WorkOrderStatusEnum.CONFIRMED)
.reason("工牌按键确认")
.operatorType(OperatorTypeEnum.CLEANER)
.operatorId(order.getAssigneeId())
.operatorId(order.getAssigneeId() != null ? order.getAssigneeId() : 0L)
.build();
orderLifecycleManager.transition(request);
@@ -126,8 +130,7 @@ public class CleanOrderConfirmEventHandler implements RocketMQListener<String> {
// 7. 发送 TTS 通知
// "工单已确认,请前往{AreaName}开始作业"
String ttsText = "工单已确认,请前往作业区域开始作业";
sendTTS(event.getDeviceId(), ttsText);
sendTTS(event.getDeviceId(), TTS_CONFIRM_SUCCESS);
} catch (Exception e) {
log.error("[CleanOrderConfirmEventHandler] 消息处理失败: message={}", message, e);