diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/enumeration/LogModule.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/enumeration/LogModule.java new file mode 100644 index 0000000..daebabf --- /dev/null +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/enumeration/LogModule.java @@ -0,0 +1,46 @@ +package com.viewsh.module.ops.infrastructure.log.enumeration; + +/** + * 日志模块常量 + *
+ * 用于 {@link com.viewsh.module.ops.infrastructure.log.recorder.EventLogRecord} 的 module 字段,
+ * 避免各业务线硬编码字符串。
+ *
+ * @author lzh
+ */
+public final class LogModule {
+
+ /** 保洁 */
+ public static final String CLEAN = "clean";
+
+ /** 安保 */
+ public static final String SECURITY = "security";
+
+ /** 工程 @since 2026-03-11 预留 */
+ public static final String FACILITIES = "facilities";
+
+ /** 客服 @since 2026-03-11 预留 */
+ public static final String SERVICE = "service";
+
+ /**
+ * 根据工单类型(orderType)返回对应的日志模块标识。
+ * 未知类型降级返回 orderType 小写。
+ *
+ * @param orderType 工单类型,如 "CLEAN"、"SECURITY"
+ * @return 日志模块标识
+ */
+ public static String fromOrderType(String orderType) {
+ if (orderType == null) {
+ return CLEAN;
+ }
+ return switch (orderType) {
+ case "CLEAN" -> CLEAN;
+ case "SECURITY" -> SECURITY;
+ case "REPAIR" -> FACILITIES;
+ case "SERVICE" -> SERVICE;
+ default -> orderType.toLowerCase();
+ };
+ }
+
+ private LogModule() {}
+}
diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/enumeration/LogType.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/enumeration/LogType.java
index 93efae3..9fc32e9 100644
--- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/enumeration/LogType.java
+++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/enumeration/LogType.java
@@ -1,5 +1,8 @@
package com.viewsh.module.ops.infrastructure.log.enumeration;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* 日志类型枚举
*
@@ -7,45 +10,51 @@ package com.viewsh.module.ops.infrastructure.log.enumeration;
*/
public enum LogType {
- /**
- * 派单日志
- */
- DISPATCH("ORDER_DISPATCHED", "派单"),
+ // ========== 注解体系(@BusinessLog)使用 ==========
- /**
- * 状态转换日志
- */
- TRANSITION("ORDER_STATUS_CHANGED", "状态转换"),
+ /** 派单 */
+ ORDER_DISPATCHED("ORDER_DISPATCHED", "派单"),
+ /** 系统事件(注解默认值) */
+ SYSTEM_EVENT("SYSTEM_EVENT", "系统"),
- /**
- * 生命周期日志
- */
- LIFECYCLE("ORDER_LIFECYCLE", "生命周期"),
+ // ========== 工单生命周期 ==========
- /**
- * 队列日志
- */
- QUEUE("ORDER_QUEUE_CHANGED", "队列"),
+ ORDER_CREATED("ORDER_CREATED", "工单创建"),
+ ORDER_CONFIRM("ORDER_CONFIRM", "工单确认"),
+ ORDER_ARRIVED("ORDER_ARRIVED", "到岗确认"),
+ ORDER_COMPLETED("ORDER_COMPLETED", "工单完成"),
+ ORDER_INTERRUPTED("ORDER_INTERRUPTED", "工单打断"),
+ ORDER_CANCELLED("ORDER_CANCELLED", "工单取消"),
+ ORDER_PAUSED("ORDER_PAUSED", "工单暂停"),
+ ORDER_RESUMED("ORDER_RESUMED", "工单恢复"),
- /**
- * 保洁员日志
- */
- CLEANER("CLEANER_ACTION", "保洁员"),
+ // ========== 语音播报 ==========
- /**
- * 设备日志
- */
- DEVICE("DEVICE_ACTION", "设备"),
+ TTS_SENT("TTS_SENT", "语音播报"),
+ TTS_FAILED("TTS_FAILED", "播报失败"),
- /**
- * 通知日志
- */
- NOTIFICATION("NOTIFICATION_SENT", "通知"),
+ // ========== 优先级 & 静默 ==========
- /**
- * 系统日志
- */
- SYSTEM("SYSTEM_EVENT", "系统");
+ PRIORITY_UPGRADE("PRIORITY_UPGRADE", "优先级升级"),
+ PRIORITY_CEILING("PRIORITY_CEILING", "优先级封顶"),
+ ARRIVED_SILENT_IGNORE("ARRIVED_SILENT_IGNORE", "静默忽略"),
+
+ // ========== IoT 审计事件(来自 ops-order-audit MQ) ==========
+
+ BEACON_ARRIVE_CONFIRMED("BEACON_ARRIVE_CONFIRMED", "信标到岗确认"),
+ BEACON_LEAVE_WARNING_SENT("BEACON_LEAVE_WARNING_SENT", "离开区域警告"),
+ COMPLETE_SUPPRESSED_INVALID("COMPLETE_SUPPRESSED_INVALID", "作业时长不足抑制"),
+ BEACON_COMPLETE_REQUESTED("BEACON_COMPLETE_REQUESTED", "信号丢失自动完成请求"),
+ TTS_REQUEST("TTS_REQUEST", "语音播报请求"),
+ ARRIVE_REJECTED("ARRIVE_REJECTED", "到岗请求被拒绝");
+
+ private static final Map