refactor(ops): extract constants and optimize status list in audit handler
This commit is contained in:
@@ -53,12 +53,24 @@ public class CleanOrderAuditEventHandler implements RocketMQListener<String> {
|
||||
*/
|
||||
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<String> 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<String> {
|
||||
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<String> {
|
||||
}
|
||||
|
||||
// 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<String> {
|
||||
|
||||
// 2. 查询待办工单数量
|
||||
// status IN (QUEUED, DISPATCHED, CONFIRMED, ARRIVED, PAUSED)
|
||||
List<String> statusList = Arrays.asList(
|
||||
WorkOrderStatusEnum.QUEUED.getStatus(),
|
||||
WorkOrderStatusEnum.DISPATCHED.getStatus(),
|
||||
WorkOrderStatusEnum.CONFIRMED.getStatus(),
|
||||
WorkOrderStatusEnum.ARRIVED.getStatus(),
|
||||
WorkOrderStatusEnum.PAUSED.getStatus()
|
||||
);
|
||||
|
||||
Long count = opsOrderMapper.selectCount(new LambdaQueryWrapperX<OpsOrderDO>()
|
||||
.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);
|
||||
|
||||
Reference in New Issue
Block a user