|
@@ -96,23 +96,29 @@ public class DatasouceAlarmTask implements DisposableBean {
|
|
|
alarmConfigList.add(this.datasouceAlarmTaskMap.get(itemId));
|
|
|
}
|
|
|
future = threadPool.scheduleAtFixedRate(() -> {
|
|
|
- //获取点位最新的数据
|
|
|
- List<com.cqcy.ei.influxdb.entity.Item> itemDataByLast = queryService.getItemDataByLast(items, itemGroupId.toString());
|
|
|
- if (CollUtil.isNotEmpty(alarmConfigList) && CollUtil.isNotEmpty(itemDataByLast)) {
|
|
|
- if (CollUtil.isEmpty(lastItemDataList)) {
|
|
|
- generateAlarms(alarmConfigList, itemDataByLast);
|
|
|
- } else {
|
|
|
- //过滤已经存在的数据
|
|
|
- List<Item> validItemDataList = itemDataByLast.stream().filter(i ->
|
|
|
- lastItemDataList.stream().noneMatch(l ->
|
|
|
- l.getName().equals(i.getName()) && l.getTime().equals(i.getTime()))
|
|
|
- ).collect(Collectors.toList());
|
|
|
- if (CollUtil.isNotEmpty(validItemDataList)) {
|
|
|
- generateAlarms(alarmConfigList, validItemDataList);
|
|
|
+ try{
|
|
|
+ //获取点位最新的数据
|
|
|
+
|
|
|
+ List<com.cqcy.ei.influxdb.entity.Item> itemDataByLast = queryService.getItemDataByLast(items, itemGroupId.toString());
|
|
|
+ if (CollUtil.isNotEmpty(alarmConfigList) && CollUtil.isNotEmpty(itemDataByLast)) {
|
|
|
+ if (CollUtil.isEmpty(lastItemDataList)) {
|
|
|
+ generateAlarms(alarmConfigList, itemDataByLast);
|
|
|
+ } else {
|
|
|
+ //过滤已经存在的数据
|
|
|
+ List<Item> validItemDataList = itemDataByLast.stream().filter(i ->
|
|
|
+ lastItemDataList.stream().noneMatch(l ->
|
|
|
+ l.getName().equals(i.getName()) && l.getTime().equals(i.getTime()))
|
|
|
+ ).collect(Collectors.toList());
|
|
|
+ if (CollUtil.isNotEmpty(validItemDataList)) {
|
|
|
+ generateAlarms(alarmConfigList, validItemDataList);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ lastItemDataList = itemDataByLast;
|
|
|
+ }catch (Exception e){
|
|
|
+ System.out.println("点位报警异常:");
|
|
|
+ log.error(e.getMessage());
|
|
|
}
|
|
|
- lastItemDataList = itemDataByLast;
|
|
|
}, collectorItemInterval, collectorItemInterval, TimeUnit.MILLISECONDS);
|
|
|
}
|
|
|
}
|