diff --git a/src/main/java/com/campus/water/entity/Device.java b/src/main/java/com/campus/water/entity/Device.java index e9469b0..42ac6e4 100644 --- a/src/main/java/com/campus/water/entity/Device.java +++ b/src/main/java/com/campus/water/entity/Device.java @@ -41,6 +41,9 @@ public class Device { @Column(name = "create_time") private LocalDateTime createTime = LocalDateTime.now(); + public void setRemark(String remark) { + } + public enum DeviceType { water_maker, water_supply } diff --git a/src/main/java/com/campus/water/mapper/AlertRepository.java b/src/main/java/com/campus/water/mapper/AlertRepository.java index bc43f1c..859f25d 100644 --- a/src/main/java/com/campus/water/mapper/AlertRepository.java +++ b/src/main/java/com/campus/water/mapper/AlertRepository.java @@ -51,8 +51,8 @@ public interface AlertRepository extends JpaRepository { // 根据处理人查询告警 List findByResolvedBy(String resolvedBy); - // 检查重复未处理告警 - List findByDeviceIdAndAlertTypeAndStatusAndTimestampAfter( + // 修复:将 AndStatus 改为 AndStatusIn,支持List集合的IN查询 + List findByDeviceIdAndAlertTypeAndStatusInAndTimestampAfter( String deviceId, String alertType, List activeStatus, diff --git a/src/main/java/com/campus/water/mapper/DeviceRepository.java b/src/main/java/com/campus/water/mapper/DeviceRepository.java index b5dc00a..11bf860 100644 --- a/src/main/java/com/campus/water/mapper/DeviceRepository.java +++ b/src/main/java/com/campus/water/mapper/DeviceRepository.java @@ -21,4 +21,8 @@ public interface DeviceRepository extends JpaRepository { // 按安装位置模糊查询设备 List findByInstallLocationContaining(String location); + + List findByStatusAndAreaIdAndDeviceType(String status, String areaId, String deviceType); + + Object countByStatusAndAreaIdAndDeviceType(String online, String areaId, String deviceType); } \ No newline at end of file diff --git a/src/main/java/com/campus/water/service/AlertTriggerService.java b/src/main/java/com/campus/water/service/AlertTriggerService.java index cb45547..88d5399 100644 --- a/src/main/java/com/campus/water/service/AlertTriggerService.java +++ b/src/main/java/com/campus/water/service/AlertTriggerService.java @@ -32,6 +32,7 @@ import java.util.Optional; public class AlertTriggerService { // 异常阈值配置(可根据实际需求调整或移至配置文件) + private static final double WATER_MAKER_TDS_THRESHOLD = 100.0; // 制水机TDS值异常阈值 private static final double WATER_MAKER_PRESS_MIN = 0.2; // 最小水压 private static final int FILTER_LIFE_THRESHOLD = 20; // 滤芯寿命阈值(%) @@ -205,7 +206,7 @@ public class AlertTriggerService { Alert.AlertStatus.pending, Alert.AlertStatus.processing ); - return !alertRepository.findByDeviceIdAndAlertTypeAndStatusAndTimestampAfter( + return !alertRepository.findByDeviceIdAndAlertTypeAndStatusInAndTimestampAfter( deviceId, alertType, activeStatus,