From 1d14331598e10c13bb3a8b1a24d1f541a07321a1 Mon Sep 17 00:00:00 2001 From: CJL6015 <1253368419@qq.com> Date: Sat, 20 Dec 2025 16:52:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(alert):=20=E6=B7=BB=E5=8A=A0=E7=AE=97?= =?UTF-8?q?=E6=B3=95=E6=9E=9A=E4=B8=BE=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入 Jackson 注解以支持自定义反序列化逻辑 - 实现 deserialize 方法处理数字和字符串类型的输入 - 支持通过名称或代码值查找对应的算法枚举 - 添加对无效输入的安全默认返回机制 --- .../module/alert/common/enums/Algorithm.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/Algorithm.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/Algorithm.java index bf02fd4..589b8d7 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/Algorithm.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/Algorithm.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.alert.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; @@ -24,6 +25,29 @@ public enum Algorithm { public final Integer code; + @JsonCreator + public static Algorithm deserialize(Object value) { + if (value == null) { + return ERROR; + } + if (value instanceof Number) { + return of(((Number) value).intValue()); + } + String text = String.valueOf(value); + if ("ANN_O".equalsIgnoreCase(text)) { + return ANN; + } + for (Algorithm algorithm : values()) { + if (algorithm.name().equalsIgnoreCase(text)) { + return algorithm; + } + } + try { + return of(Integer.parseInt(text)); + } catch (NumberFormatException ignore) { + return ERROR; + } + } public static Algorithm of(Integer code) { for (Algorithm algorithm : values()) {