refactor(ops): address code review comments for confirm handler
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user