Browse Source

优化在离线发送邮件配置字段

master
bgy 4 days ago
parent
commit
b24f66e36a
3 changed files with 9 additions and 2 deletions
  1. +4
    -0
      src/main/java/com/topsail/scheduletask/pojo/FocusDeviceOnline.java
  2. +3
    -1
      src/main/java/com/topsail/scheduletask/task/CheckRabbitMqScheduleTask.java
  3. +2
    -1
      src/main/resources/com/topsail/scheduletask/mapper/TopsailTransmitLogMapper.xml

+ 4
- 0
src/main/java/com/topsail/scheduletask/pojo/FocusDeviceOnline.java View File

@ -40,5 +40,9 @@ public class FocusDeviceOnline {
* 告警接收的邮箱
*/
private String sendMails;
/**
* 离线数阈值,超过该数量才发送邮件提醒
*/
private Integer offlineCount;
}

+ 3
- 1
src/main/java/com/topsail/scheduletask/task/CheckRabbitMqScheduleTask.java View File

@ -126,7 +126,9 @@ public class CheckRabbitMqScheduleTask {
}
//2.查询设备离线数量
List<DeviceOnlineInfo> 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<String, String> offlineDeviceMap = offlineDevices.stream()
.collect(Collectors.toMap(DeviceOnlineInfo::getImei, DeviceOnlineInfo::getOfflineTime));


+ 2
- 1
src/main/resources/com/topsail/scheduletask/mapper/TopsailTransmitLogMapper.xml View File

@ -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}
</select>


Loading…
Cancel
Save