From 1197363ac6ea5d7f1554360bbc89eceecb4fabbb Mon Sep 17 00:00:00 2001 From: lzh Date: Mon, 19 Jan 2026 14:59:33 +0800 Subject: [PATCH] refactor(ops): extract constants and optimize status list in audit handler --- .../consumer/CleanOrderAuditEventHandler.java | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/integration/consumer/CleanOrderAuditEventHandler.java b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/integration/consumer/CleanOrderAuditEventHandler.java index 6b22bab..adc0c52 100644 --- a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/integration/consumer/CleanOrderAuditEventHandler.java +++ b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/integration/consumer/CleanOrderAuditEventHandler.java @@ -53,12 +53,24 @@ public class CleanOrderAuditEventHandler implements RocketMQListener { */ private static final String DEDUP_KEY_PATTERN = "ops:clean:dedup:audit:%s"; - /** - * 幂等性控制 TTL(秒) - */ - private static final int DEDUP_TTL_SECONDS = 300; - - @Resource + /** + * 幂等性控制 TTL(秒) + */ + private static final int DEDUP_TTL_SECONDS = 300; + + private static final String TRIGGER_SOURCE_QUERY = "IOT_BUTTON_QUERY"; + private static final String DEFAULT_AREA_NAME = "当前区域"; + private static final String TTS_TEMPLATE_QUERY = "当前位置:%s。待办工单:%d个"; + + private static final List ACTIVE_STATUS_LIST = Arrays.asList( + WorkOrderStatusEnum.QUEUED.getStatus(), + WorkOrderStatusEnum.DISPATCHED.getStatus(), + WorkOrderStatusEnum.CONFIRMED.getStatus(), + WorkOrderStatusEnum.ARRIVED.getStatus(), + WorkOrderStatusEnum.PAUSED.getStatus() + ); + + @Resource private ObjectMapper objectMapper; @Resource @@ -105,7 +117,7 @@ public class CleanOrderAuditEventHandler implements RocketMQListener { log.debug("[CleanOrderAuditEventHandler] 收到审计事件: eventId={}, auditType={}, message={}", event.getEventId(), event.getAuditType(), event.getMessage()); - if ("IOT_BUTTON_QUERY".equals(event.getTriggerSource())) { + if (TRIGGER_SOURCE_QUERY.equals(event.getTriggerSource())) { handleQueryEvent(event); return; } @@ -193,7 +205,7 @@ public class CleanOrderAuditEventHandler implements RocketMQListener { } // 1. 获取当前区域名称 - String areaName = "当前区域"; + String areaName = DEFAULT_AREA_NAME; if (event.getOrderId() != null) { OpsOrderDO order = opsOrderMapper.selectById(event.getOrderId()); if (order != null && order.getLocation() != null) { @@ -203,20 +215,12 @@ public class CleanOrderAuditEventHandler implements RocketMQListener { // 2. 查询待办工单数量 // status IN (QUEUED, DISPATCHED, CONFIRMED, ARRIVED, PAUSED) - List statusList = Arrays.asList( - WorkOrderStatusEnum.QUEUED.getStatus(), - WorkOrderStatusEnum.DISPATCHED.getStatus(), - WorkOrderStatusEnum.CONFIRMED.getStatus(), - WorkOrderStatusEnum.ARRIVED.getStatus(), - WorkOrderStatusEnum.PAUSED.getStatus() - ); - Long count = opsOrderMapper.selectCount(new LambdaQueryWrapperX() .eq(OpsOrderDO::getAssigneeDeviceId, deviceId) - .in(OpsOrderDO::getStatus, statusList)); + .in(OpsOrderDO::getStatus, ACTIVE_STATUS_LIST)); // 3. 构建 TTS 文本 - String ttsText = String.format("当前位置:%s。待办工单:%d个", areaName, count); + String ttsText = String.format(TTS_TEMPLATE_QUERY, areaName, count); // 4. 下发 TTS sendTts(deviceId, ttsText);