|
|
@@ -436,22 +436,23 @@ public class IotAlarmDataServiceImpl extends ServiceImpl<IotAlarmDataMapper, Iot
|
|
|
.isNull(IotAlarmData::getEndTime);
|
|
|
List<IotAlarmData> datas = baseMapper.selectList(qw);
|
|
|
|
|
|
- for (DiskVo diskVo : diskVos) {
|
|
|
+ diskVos.stream().max(Comparator.comparing(DiskVo::getState)).ifPresent(diskVo -> {
|
|
|
//硬盘状态。0:正常,1:异常
|
|
|
Integer state = diskVo.getState();
|
|
|
if (state == 1 && datas.size() == 0) {
|
|
|
//报警,且没有告警数据
|
|
|
IotAlarmData alarmDisk = createAlarmDisk(equipmentName, diskVo.getName(), iotDvrDisk.getOrgId(), deviceInfo.getId());
|
|
|
this.save(alarmDisk);
|
|
|
- LogUtils.STATUS_INFO_DISKS.info("磁盘状态: {}产生告警信息", alarmDisk.getDeviceName());
|
|
|
+ LogUtils.STATUS_INFO_DISKS.info("监控主机:{} 硬盘号:{} 状态: {} 产生告警信息", deviceInfo.getDeviceName(), diskVo.getIndex(), diskVo.getState());
|
|
|
}
|
|
|
-
|
|
|
if (state == 0 && datas.size() > 0) {
|
|
|
IotAlarmData iotAlarmData = datas.get(0);
|
|
|
iotAlarmData.setEndTime(LocalDateTime.now());
|
|
|
this.updateById(iotAlarmData);
|
|
|
+ LogUtils.STATUS_INFO_DISKS.info("监控主机:{} 硬盘号:{} 状态: {} 告警恢复", deviceInfo.getDeviceName(), diskVo.getIndex(), diskVo.getState());
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private IotAlarmData createAlarmDisk(String equipmentName, String diskName, long orgId, Long deviceId) {
|