From 4b192d15908105c63326937d0b1cfd7aa7523c40 Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期一, 13 四月 2026 20:41:22 +0800
Subject: [PATCH] 提交

---
 src/main/java/com/wgcloud/task/ScheduledTask.java      |    9 ++--
 src/main/java/com/wgcloud/service/OspfInfoService.java |   58 +++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/wgcloud/service/OspfInfoService.java b/src/main/java/com/wgcloud/service/OspfInfoService.java
index 0ffbaa7..c60e3d4 100644
--- a/src/main/java/com/wgcloud/service/OspfInfoService.java
+++ b/src/main/java/com/wgcloud/service/OspfInfoService.java
@@ -188,6 +188,64 @@
         }
     }
 
+    public void getPyRouterStatus() {
+        List<OspfInfo> ospfInfos = OspfInfoMapper.selectAllByParams(null);
+        for (OspfInfo ospfInfo : ospfInfos) {
+            String command = "display ospf peer "+ospfInfo.getHostname();
+            Map<String,Object> map = new HashMap<>();
+            map.put("command",command);
+            map.put("username",ospfInfo.getMonitorUsername());
+            map.put("password",ospfInfo.getMonitorPassword());
+            map.put("host",ospfInfo.getMonitorIp());
+            if(ospfInfo.getMonitorRemoteType().equals("TELNET")){
+                map.put("protocol","telnet");
+                map.put("port",23);
+            }else if(ospfInfo.getMonitorRemoteType().equals("SSH")){
+                map.put("protocol","ssh");
+                map.put("port",22);
+            }
+            map.put("ospfIp",ospfInfo.getHostname());
+            String str = JSON.toJSONString(map);
+            //System.out.println(str);
+            try {
+                String url = "http://"+remoteHost+":"+remotePort+"/exec-h3c";
+                String responseBody = HttpRequest.post(url)
+                        .timeout(50000)
+                        .body(str)
+                        .execute()
+                        .body();
+                System.out.println(responseBody);
+                String result = responseBody.replaceAll("^\"|\"$", "");
+                if(result.equals("1")){
+                    HashMap<String, Object> hashMap = new HashMap<>();
+                    hashMap.put("state","1");
+                    hashMap.put("hostname",ospfInfo.getHostname());
+                    List<OspfErrorLog> ospfErrorLogs = errorLogMapper.selectAllByParams(hashMap);
+                    if(ospfErrorLogs==null||ospfErrorLogs.size()==0){
+                        OspfErrorLog ospfErrorLog = new OspfErrorLog();
+                        ospfErrorLog.setInfoContent(ospfInfo.getInfoContent());
+                        ospfErrorLog.setHostname(ospfInfo.getHostname());
+                        ospfErrorLog.setState("1");
+                        ospfErrorLog.setId(UUIDUtil.getUUID());
+                        ospfErrorLog.setCreateTime(DateUtil.getNowTime());
+                        try {
+                            errorLogMapper.save(ospfErrorLog);
+                        }catch (Exception e){
+                            e.printStackTrace();
+                        }
+                    }
+                }
+                ospfInfo.setState(result);
+                OspfInfoMapper.updateById(ospfInfo);
+
+            } catch (Exception e) {
+                e.printStackTrace();
+                ospfInfo.setState("1");
+                OspfInfoMapper.updateById(ospfInfo);
+            }
+        }
+    }
+
     /**
      * 鑾峰彇OSPF鎺ュ彛鐘舵��
      */
diff --git a/src/main/java/com/wgcloud/task/ScheduledTask.java b/src/main/java/com/wgcloud/task/ScheduledTask.java
index e46b5c3..3fd2af8 100644
--- a/src/main/java/com/wgcloud/task/ScheduledTask.java
+++ b/src/main/java/com/wgcloud/task/ScheduledTask.java
@@ -85,7 +85,8 @@
     public void ospfDownCheckTask() {
         logger.info("ospf閾捐矾妫�娴嬩换鍔″紑濮�------------" + DateUtil.getDateTimeString(new Date()));
         //ospfInfoService.getDetailedOspfNeighborInfo();
-        ospfInfoService.getRouterStatus();
+        //ospfInfoService.getRouterStatus();
+        ospfInfoService.getPyRouterStatus();
         logger.info("ospf閾捐矾妫�娴嬩换鍔$粨鏉�------------" + DateUtil.getDateTimeString(new Date()));
     }
 
@@ -93,7 +94,7 @@
      * 5绉掑悗鎵ц锛屼箣鍚庢瘡24灏忔椂鍒锋柊涓�娆�
      * 妫�娴媗icense
      */
-    @Scheduled(initialDelay = 5000L, fixedRate = 24 * 60 * 60 * 1000)
+    //@Scheduled(initialDelay = 5000L, fixedRate = 24 * 60 * 60 * 1000)
     public void validateLicense() {
         logger.info("validateLicense------------" + DateUtil.getDateTimeString(new Date()));
         try {
@@ -126,7 +127,7 @@
      * 20绉掑悗鎵ц锛屼箣鍚庢瘡6鍒嗛挓鍒锋柊涓�娆�
      * 鍒濆鍖栦竴浜涗换鍔�
      */
-    @Scheduled(initialDelay = 20000L, fixedRate = 6 * 60 * 1000)
+    //@Scheduled(initialDelay = 20000L, fixedRate = 6 * 60 * 1000)
     public void initTask() {
         logger.info("initTask------------" + DateUtil.getDateTimeString(new Date()));
         try {
@@ -249,7 +250,7 @@
      * 90绉掑悗鎵ц锛屼箣鍚庢瘡闅�15鍒嗛挓鎵ц, 鍗曚綅锛歮s銆�
      * 妫�娴嬫暟閫歅ING璁惧
      */
-    @Scheduled(initialDelay = 90000L, fixedRateString = "${base.dceTimes}" + "000")
+    //@Scheduled(initialDelay = 90000L, fixedRateString = "${base.dceTimes}" + "000")
     public void dceInfoTask() {
         if (!StaticKeys.NODE_MASTER.equals(commonConfig.getNodeType())) {
             logger.info("slave鑺傜偣涓嶆墽琛屾娴嬫暟閫氳澶嘝ING浠诲姟");

--
Gitblit v1.9.1