From 4701d10969431b73839d3b6499096b39058fde8d Mon Sep 17 00:00:00 2001 From: yang chen Date: Wed, 10 Dec 2025 16:12:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(alert):=20=E4=BC=98=E5=8C=96=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E6=B6=88=E6=81=AF=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改主键生成策略为 ASSIGN_ID - 添加 JSON 序列化注解确保 ID 正确序列化 - 调整告警判断逻辑以支持 switch 类型属性 - 完善告警延续机制,避免重复创建告警消息 --- .../module/biz/entity/LcPowerEnvAlertMessageEntity.java | 5 ++++- .../module/biz/listener/LcPowerEnvMetricEventListener.java | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/entity/LcPowerEnvAlertMessageEntity.java b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/entity/LcPowerEnvAlertMessageEntity.java index d5650a1..06f5280 100644 --- a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/entity/LcPowerEnvAlertMessageEntity.java +++ b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/entity/LcPowerEnvAlertMessageEntity.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.jeelowcode.framework.utils.model.global.BaseTenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -23,7 +25,8 @@ public class LcPowerEnvAlertMessageEntity extends BaseTenantEntity { /** * 主键 */ - @TableId(value = "ID", type = IdType.NONE) + @TableId(value = "ID", type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) private Long id; /** diff --git a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/listener/LcPowerEnvMetricEventListener.java b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/listener/LcPowerEnvMetricEventListener.java index eebe891..75545f3 100644 --- a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/listener/LcPowerEnvMetricEventListener.java +++ b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/listener/LcPowerEnvMetricEventListener.java @@ -47,7 +47,8 @@ public class LcPowerEnvMetricEventListener { List recentData = metricService.getRecentData(metric.getDeviceUid(), metric.getPropertyCode(), metric.getCreateTime().minusMinutes(3)); LcPowerEnvAlertMessageEntity alertMessage = alertService.getLatestAlertMessage(metric.getDeviceUid(), metric.getPropertyCode()); - if (StrUtil.equals(metric.getMetricValue(), "true")) { + if ((StrUtil.equals(metric.getMetricValue(), "true") && !StrUtil.equals(metric.getPropertyCode(), "switch")) || + (StrUtil.equals(metric.getMetricValue(), "false") && StrUtil.equals(metric.getPropertyCode(), "switch"))) { // 判断三分钟内是否有告警,如果有,则延续告警消息,延长告警消息时间,如果没有则创建新的告警消息 if (CollUtil.isNotEmpty(recentData) && StrUtil.equals(CollUtil.getFirst(recentData).getMetricValue(), "true")) {