refactor(ops): 扩展 LogType 枚举,补全工单生命周期与 IoT 审计事件类型

新增 ORDER_CREATED/CONFIRM/ARRIVED/COMPLETED 等工单生命周期枚举、
BEACON_ARRIVE_CONFIRMED/BEACON_COMPLETE_REQUESTED 等 IoT 审计枚举,
添加 getByCode() 反查方法支持中文 title 映射。
同步新增 LogModule 常量类收口模块标识。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
lzh
2026-03-11 17:34:08 +08:00
parent 4a7128321e
commit fc9393e723
2 changed files with 94 additions and 32 deletions

View File

@@ -0,0 +1,46 @@
package com.viewsh.module.ops.infrastructure.log.enumeration;
/**
* 日志模块常量
* <p>
* 用于 {@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() {}
}

View File

@@ -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<String, LogType> CODE_MAP = new HashMap<>();
static {
for (LogType type : values()) {
CODE_MAP.put(type.code, type);
}
}
private final String code;
private final String description;
@@ -62,4 +71,11 @@ public enum LogType {
public String getDescription() {
return description;
}
/**
* 根据 code 反查枚举,找不到返回 null
*/
public static LogType getByCode(String code) {
return CODE_MAP.get(code);
}
}