diff --git a/src/main/java/com/xydl/cac/iec/IEDCollectService.java b/src/main/java/com/xydl/cac/iec/IEDCollectService.java index 3df3e3b..9a87f66 100644 --- a/src/main/java/com/xydl/cac/iec/IEDCollectService.java +++ b/src/main/java/com/xydl/cac/iec/IEDCollectService.java @@ -79,7 +79,11 @@ public class IEDCollectService { } catch (Exception ex) { String err = "61850采集数据异常, ied=" + ied.getName() + ", ip=" + ied.getIp() + ", port=" + ied.getPort(); log.error(err, ex); - _webSocketServer.sendMessage(err, null); + String key = ied.getName() + ied.getIp() + ied.getPort(); + if (!StaticVariable.doneWarnMap.containsKey(key)) { + StaticVariable.doneWarnMap.put(key, "1"); + _webSocketServer.sendMessage(err, null); + } } finally { iecClient.disconnect(); } @@ -174,7 +178,7 @@ public class IEDCollectService { } } } catch (Exception ex) { - String err = "61850下载文件异常, ied=" + ied.getName() + ", ip=" + ied.getIp() + ", path=" + config.getPath(); + String err = "61850采集文件异常, ied=" + ied.getName() + ", ip=" + ied.getIp() + ", path=" + config.getPath(); log.error(err, ex); _webSocketServer.sendMessage(err, null); } diff --git a/src/main/java/com/xydl/cac/model/StaticVariable.java b/src/main/java/com/xydl/cac/model/StaticVariable.java index 583891f..4738165 100644 --- a/src/main/java/com/xydl/cac/model/StaticVariable.java +++ b/src/main/java/com/xydl/cac/model/StaticVariable.java @@ -15,6 +15,7 @@ public class StaticVariable { public static HashMap iecServerMap = new HashMap<>(); public static HashMap> sensorLastDataMap = new HashMap<>(); public static HashMap paramRelationMap = new HashMap<>(); + public static HashMap doneWarnMap = new HashMap<>(); public static HashMap unit_Cache = new HashMap<>(); public static List modevType_Cache = null; diff --git a/src/main/java/com/xydl/cac/task/CacheTask.java b/src/main/java/com/xydl/cac/task/CacheTask.java index fe640dd..68b1784 100644 --- a/src/main/java/com/xydl/cac/task/CacheTask.java +++ b/src/main/java/com/xydl/cac/task/CacheTask.java @@ -25,6 +25,7 @@ public class CacheTask { StaticVariable.jg_Cache = null; StaticVariable.zsb_Cache = null; StaticVariable.rule_Cache.clear(); + StaticVariable.doneWarnMap.clear(); } diff --git a/src/main/java/com/xydl/cac/task/I2syncTask.java b/src/main/java/com/xydl/cac/task/I2syncTask.java index 14d8e6a..cf359b9 100644 --- a/src/main/java/com/xydl/cac/task/I2syncTask.java +++ b/src/main/java/com/xydl/cac/task/I2syncTask.java @@ -2,6 +2,7 @@ package com.xydl.cac.task; import com.xydl.cac.adapter.BusiAdapter; import com.xydl.cac.entity.*; +import com.xydl.cac.model.StaticVariable; import com.xydl.cac.repository.I2syncRecordRepository; import com.xydl.cac.repository.NSensorRepository; import com.xydl.cac.service.DataService; @@ -63,8 +64,12 @@ public class I2syncTask { } catch (Exception e) { log.error("I2syncTask.syncAll error.", e); String str = "i2同步导出数据异常: " + e.getMessage(); - webSocketServer.sendMessage(str, null); - dingTalkPushUtil.pushText(str); + String key = "i2"; + if (!StaticVariable.doneWarnMap.containsKey(key)) { + StaticVariable.doneWarnMap.put(key, "1"); + webSocketServer.sendMessage(str, null); + dingTalkPushUtil.pushText(str); + } } } } diff --git a/src/main/java/com/xydl/cac/task/SftpDownloadTask.java b/src/main/java/com/xydl/cac/task/SftpDownloadTask.java index 67a377f..295a719 100644 --- a/src/main/java/com/xydl/cac/task/SftpDownloadTask.java +++ b/src/main/java/com/xydl/cac/task/SftpDownloadTask.java @@ -4,6 +4,7 @@ import com.jcraft.jsch.ChannelSftp; import com.xydl.cac.config.BizConfig; import com.xydl.cac.entity.*; import com.xydl.cac.entity.constants.Constants; +import com.xydl.cac.model.StaticVariable; import com.xydl.cac.service.RemoteConfigService; import com.xydl.cac.service.RemoteDownloadService; import com.xydl.cac.socket.WebSocketServer; @@ -51,22 +52,15 @@ public class SftpDownloadTask { List configList = configService.listAll(); if (!CollectionUtils.isEmpty(configList)) { log.info("AmpliDownloadTask.downloadAll 开始."); - try { - for (RemoteConfig config : configList) { - this.downloadServer(config); - } - log.info("AmpliDownloadTask.downloadAll 结束."); - } catch (Exception e) { - log.error("AmpliDownloadTask.downloadAll error.", e); - String str = "SFTP下载文件异常: " + e.getMessage(); - webSocketServer.sendMessage(str, null); - dingTalkPushUtil.pushText(str); + for (RemoteConfig config : configList) { + this.downloadServer(config); } + log.info("AmpliDownloadTask.downloadAll 结束."); } } // 下载一个远端服务器 - private void downloadServer(RemoteConfig config) throws Exception { + private void downloadServer(RemoteConfig config) { if (shutdown == 1) { return; } @@ -88,8 +82,12 @@ public class SftpDownloadTask { log.error("AmpliDownloadTask.downloadServer error.", e); String str = "SFTP下载文件异常: " + config.getName() + " " + config.getIp() + " " + e.getMessage(); - webSocketServer.sendMessage(str, null); - dingTalkPushUtil.pushText(str); + String key = "sftp" + config.getId(); + if (!StaticVariable.doneWarnMap.containsKey(key)) { + StaticVariable.doneWarnMap.put(key, "1"); + webSocketServer.sendMessage(str, null); + dingTalkPushUtil.pushText(str); + } } finally { sftpTool.disconnect(); }