diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/annotation/BusinessLog.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/annotation/BusinessLog.java index e2790cc..1d16348 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/annotation/BusinessLog.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/annotation/BusinessLog.java @@ -16,14 +16,14 @@ import java.lang.annotation.*; *
  * {@code
  * // 基础用法(使用 LogType/LogScope)
- * @BusinessLog(type = LogType.DISPATCH, scope = LogScope.ORDER,
+ * @BusinessLog(type = LogType.ORDER_DISPATCHED, scope = LogScope.ORDER,
  *             description = "自动派单", includeParams = true)
  * public DispatchResult dispatch(OrderDispatchContext context) {
  *     // ...
  * }
  *
  * // 新用法(直接指定 EventDomain 和 Module)
- * @BusinessLog(module = "clean", domain = EventDomain.DEVICE,
+ * @BusinessLog(module = LogModule.CLEAN, domain = EventDomain.DEVICE,
  *             eventType = "TTS_SENT", description = "语音播报",
  *             deviceId = "#deviceId", personId = "#context.cleanerId")
  * public void broadcast(String text, Long deviceId) {
@@ -46,7 +46,7 @@ public @interface BusinessLog {
      * 

* 当指定了 domain 和 eventType 时,此字段可忽略 */ - LogType type() default LogType.SYSTEM; + LogType type() default LogType.SYSTEM_EVENT; /** * 日志作用域(旧版,保持兼容) diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/aspect/BusinessLogAspect.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/aspect/BusinessLogAspect.java index e4f692c..2c514ab 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/aspect/BusinessLogAspect.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/aspect/BusinessLogAspect.java @@ -330,21 +330,20 @@ public class BusinessLogAspect { return EventDomain.SYSTEM; } - switch (logType) { - case DISPATCH: - return EventDomain.DISPATCH; - case DEVICE: - return EventDomain.DEVICE; - case NOTIFICATION: - return EventDomain.DEVICE; - case CLEANER: - case SYSTEM: - case QUEUE: - case LIFECYCLE: - case TRANSITION: - default: - return EventDomain.SYSTEM; - } + return switch (logType) { + case ORDER_DISPATCHED, ORDER_INTERRUPTED, ORDER_PAUSED, ORDER_RESUMED -> + EventDomain.DISPATCH; + case ORDER_ARRIVED, ORDER_COMPLETED -> + EventDomain.BEACON; + case ORDER_CONFIRM -> + EventDomain.DEVICE; + case PRIORITY_UPGRADE, PRIORITY_CEILING, ARRIVED_SILENT_IGNORE -> + EventDomain.TRAFFIC; + case TTS_SENT, TTS_FAILED -> + EventDomain.DEVICE; + default -> + EventDomain.SYSTEM; + }; } /** diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/order/OpsOrderServiceImpl.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/order/OpsOrderServiceImpl.java index 96330da..23cd956 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/order/OpsOrderServiceImpl.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/order/OpsOrderServiceImpl.java @@ -10,6 +10,7 @@ import com.viewsh.module.ops.dal.mysql.workorder.OpsOrderMapper; 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.LogType; import com.viewsh.module.ops.service.fsm.OrderStateMachine; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -364,10 +365,12 @@ public class OpsOrderServiceImpl implements OpsOrderService { } dto.setType(type); - // title: 优先使用 eventSummary,否则使用 eventType + // title: 优先使用 eventSummary,否则通过 LogType 枚举取中文描述 String title = logDO.getEventSummary(); if (title == null || title.isEmpty()) { - title = logDO.getEventType() != null ? logDO.getEventType() : "工单操作"; + LogType logType = LogType.getByCode(logDO.getEventType()); + title = logType != null ? logType.getDescription() + : (logDO.getEventType() != null ? logDO.getEventType() : "工单操作"); } dto.setTitle(title);