diff --git a/src/main/java/com/topsail/scheduletask/pojo/FocusDeviceOnline.java b/src/main/java/com/topsail/scheduletask/pojo/FocusDeviceOnline.java index 82e2a2a..44c5641 100644 --- a/src/main/java/com/topsail/scheduletask/pojo/FocusDeviceOnline.java +++ b/src/main/java/com/topsail/scheduletask/pojo/FocusDeviceOnline.java @@ -40,5 +40,9 @@ public class FocusDeviceOnline { * 告警接收的邮箱 */ private String sendMails; + /** + * 离线数阈值,超过该数量才发送邮件提醒 + */ + private Integer offlineCount; } diff --git a/src/main/java/com/topsail/scheduletask/task/CheckRabbitMqScheduleTask.java b/src/main/java/com/topsail/scheduletask/task/CheckRabbitMqScheduleTask.java index 5328976..d15e49e 100644 --- a/src/main/java/com/topsail/scheduletask/task/CheckRabbitMqScheduleTask.java +++ b/src/main/java/com/topsail/scheduletask/task/CheckRabbitMqScheduleTask.java @@ -126,7 +126,9 @@ public class CheckRabbitMqScheduleTask { } //2.查询设备离线数量 List offlineDevices = topsailTransmitLogDao.getOfflineDevice(imeiList, focusDeviceOnline.getProjectId()); - if (offlineDevices != null && offlineDevices.size() > 2) { + //离线数阈值,超过该数量才发送邮件提醒,未配置时默认为2 + int offlineCountThreshold = focusDeviceOnline.getOfflineCount() != null ? focusDeviceOnline.getOfflineCount() : 2; + if (offlineDevices != null && offlineDevices.size() > offlineCountThreshold) { //将离线的设备号码转成json字符串 Map offlineDeviceMap = offlineDevices.stream() .collect(Collectors.toMap(DeviceOnlineInfo::getImei, DeviceOnlineInfo::getOfflineTime)); diff --git a/src/main/resources/com/topsail/scheduletask/mapper/TopsailTransmitLogMapper.xml b/src/main/resources/com/topsail/scheduletask/mapper/TopsailTransmitLogMapper.xml index aa01503..3f3a1d7 100644 --- a/src/main/resources/com/topsail/scheduletask/mapper/TopsailTransmitLogMapper.xml +++ b/src/main/resources/com/topsail/scheduletask/mapper/TopsailTransmitLogMapper.xml @@ -62,7 +62,8 @@ project_id projectId, focus_imeis focusImeis, is_focus isFocus, - send_mails sendMails + send_mails sendMails, + offline_count offlineCount FROM focus_device_online WHERE is_focus = #{isFocus}