refactor(ops): 收口散落的 eventType 硬编码为 LogType 枚举引用

替换 CleanOrderCreateEventHandler、OrderLifecycleManagerImpl、
DispatchEngineImpl 中的字符串常量为 LogType.XXX.getCode(),
同时将 DispatchEngine 的 @BusinessLog description 改为"工单自动派发"。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
lzh
2026-03-11 17:34:30 +08:00
parent dc75c78d16
commit 5f804605c7
3 changed files with 22 additions and 18 deletions

View File

@@ -14,6 +14,8 @@ import com.viewsh.module.ops.environment.integration.dto.CleanOrderCreateEventDT
import com.viewsh.module.ops.environment.service.cleanorder.CleanOrderService;
import com.viewsh.module.ops.infrastructure.log.enumeration.EventDomain;
import com.viewsh.module.ops.infrastructure.log.enumeration.EventLevel;
import com.viewsh.module.ops.infrastructure.log.enumeration.LogModule;
import com.viewsh.module.ops.infrastructure.log.enumeration.LogType;
import com.viewsh.module.ops.infrastructure.log.recorder.EventLogRecord;
import com.viewsh.module.ops.infrastructure.log.recorder.EventLogRecorder;
import jakarta.annotation.Resource;
@@ -318,9 +320,9 @@ public class CleanOrderCreateEventHandler implements RocketMQListener<String> {
}
eventLogRecorder.record(EventLogRecord.builder()
.module("clean")
.module(LogModule.CLEAN)
.domain(domain)
.eventType("ORDER_CREATED")
.eventType(LogType.ORDER_CREATED.getCode())
.message(buildLogMessage(event, createReq))
.targetId(orderId)
.targetType("order")
@@ -346,9 +348,9 @@ public class CleanOrderCreateEventHandler implements RocketMQListener<String> {
extra.put("reason", "客流持续达标自动升级");
eventLogRecorder.record(EventLogRecord.builder()
.module("clean")
.module(LogModule.CLEAN)
.domain(EventDomain.TRAFFIC)
.eventType("PRIORITY_UPGRADE")
.eventType(LogType.PRIORITY_UPGRADE.getCode())
.message(String.format("客流持续达标,工单优先级升级至%s [区域:%d]",
newPriority.getDescription(), event.getAreaId()))
.targetId(orderId)
@@ -374,9 +376,9 @@ public class CleanOrderCreateEventHandler implements RocketMQListener<String> {
extra.put("reason", "已是P0最高优先级无法继续升级");
eventLogRecorder.record(EventLogRecord.builder()
.module("clean")
.module(LogModule.CLEAN)
.domain(EventDomain.TRAFFIC)
.eventType("PRIORITY_CEILING")
.eventType(LogType.PRIORITY_CEILING.getCode())
.message(String.format("客流持续达标但工单已是P0封顶 [区域:%d]", event.getAreaId()))
.targetId(orderId)
.targetType("order")
@@ -401,9 +403,9 @@ public class CleanOrderCreateEventHandler implements RocketMQListener<String> {
extra.put("reason", "保洁员已在处理中,客流触发静默忽略");
eventLogRecorder.record(EventLogRecord.builder()
.module("clean")
.module(LogModule.CLEAN)
.domain(EventDomain.TRAFFIC)
.eventType("ARRIVED_SILENT_IGNORE")
.eventType(LogType.ARRIVED_SILENT_IGNORE.getCode())
.message(String.format("保洁员已在处理中,客流触发静默忽略 [区域:%d]", event.getAreaId()))
.targetId(orderId)
.targetType("order")

View File

@@ -77,9 +77,9 @@ public class DispatchEngineImpl implements DispatchEngine {
@Override
@BusinessLog(
type = LogType.DISPATCH,
type = LogType.ORDER_DISPATCHED,
scope = LogScope.ORDER,
description = "工单调度",
description = "工单自动派发",
includeParams = true,
includeResult = true,
result = "#result.success",

View File

@@ -13,6 +13,8 @@ import com.viewsh.module.ops.enums.OperatorTypeEnum;
import com.viewsh.module.ops.enums.PriorityEnum;
import com.viewsh.module.ops.enums.WorkOrderStatusEnum;
import com.viewsh.module.ops.infrastructure.log.enumeration.EventDomain;
import com.viewsh.module.ops.infrastructure.log.enumeration.LogModule;
import com.viewsh.module.ops.infrastructure.log.enumeration.LogType;
import com.viewsh.module.ops.infrastructure.log.recorder.EventLogRecord;
import com.viewsh.module.ops.infrastructure.log.recorder.EventLogRecorder;
import jakarta.annotation.PostConstruct;
@@ -180,7 +182,7 @@ public class OrderLifecycleManagerImpl implements OrderLifecycleManager {
}
// 记录业务日志
recordStatusChangeLog(orderId, result, "ORDER_PAUSED", "工单暂停");
recordStatusChangeLog(orderId, result, LogType.ORDER_PAUSED.getCode(), "工单暂停");
}
@Override
@@ -205,7 +207,7 @@ public class OrderLifecycleManagerImpl implements OrderLifecycleManager {
}
// 记录业务日志
recordStatusChangeLog(orderId, result, "ORDER_RESUMED", "工单恢复");
recordStatusChangeLog(orderId, result, LogType.ORDER_RESUMED.getCode(), "工单恢复");
}
// ==================== 打断/恢复 ====================
@@ -240,9 +242,9 @@ public class OrderLifecycleManagerImpl implements OrderLifecycleManager {
OpsOrderDO order = opsOrderMapper.selectById(orderId);
eventLogRecorder.record(EventLogRecord.builder()
.module("clean")
.module(LogModule.fromOrderType(order != null ? order.getOrderType() : null))
.domain(EventDomain.DISPATCH)
.eventType("ORDER_INTERRUPTED")
.eventType(LogType.ORDER_INTERRUPTED.getCode())
.message("工单被P0紧急任务打断")
.targetId(orderId)
.targetType("order")
@@ -296,7 +298,7 @@ public class OrderLifecycleManagerImpl implements OrderLifecycleManager {
// 注意IoT 触发的自动完成在 CleanOrderCompleteEventHandler 中记录日志
// 管理员手动完成时记录日志
if (operatorType == OperatorTypeEnum.ADMIN) {
recordStatusChangeLog(orderId, result, "ORDER_COMPLETED_MANUAL", "工单手动完成");
recordStatusChangeLog(orderId, result, LogType.ORDER_COMPLETED.getCode(), "工单手动完成");
}
}
@@ -332,9 +334,9 @@ public class OrderLifecycleManagerImpl implements OrderLifecycleManager {
extra.put("operatorType", operatorType != null ? operatorType.getType() : "SYSTEM");
eventLogRecorder.record(EventLogRecord.builder()
.module("clean")
.module(LogModule.fromOrderType(order != null ? order.getOrderType() : null))
.domain(EventDomain.SYSTEM)
.eventType("ORDER_CANCELLED")
.eventType(LogType.ORDER_CANCELLED.getCode())
.message("工单已取消: " + reason)
.targetId(orderId)
.targetType("order")
@@ -426,7 +428,7 @@ public class OrderLifecycleManagerImpl implements OrderLifecycleManager {
extra.put("newStatus", result.getNewStatus() != null ? result.getNewStatus().getStatus() : null);
eventLogRecorder.record(EventLogRecord.builder()
.module("clean")
.module(LogModule.fromOrderType(order.getOrderType()))
.domain(EventDomain.DISPATCH)
.eventType(eventType)
.message(message)