From 7a2e82325091a39c32cf9940d0016178a3655dc9 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期二, 02 十二月 2025 17:53:04 +0800
Subject: [PATCH] 大屏接口修改

---
 src/main/java/com/wgcloud/service/OspfInfoService.java |   57 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 36 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/wgcloud/service/OspfInfoService.java b/src/main/java/com/wgcloud/service/OspfInfoService.java
index 1f2f36f..26c4432 100644
--- a/src/main/java/com/wgcloud/service/OspfInfoService.java
+++ b/src/main/java/com/wgcloud/service/OspfInfoService.java
@@ -1,5 +1,7 @@
 package com.wgcloud.service;
 
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.TypeReference;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.wgcloud.entity.OspfErrorLog;
@@ -15,7 +17,9 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import com.alibaba.fastjson.JSON;
 
 import java.util.HashMap;
 import java.util.List;
@@ -38,6 +42,11 @@
     private OspfNeighborUtil ospfNeighborUtil;
     @Autowired
     private OspfErrorLogMapper errorLogMapper;
+
+    @Value("${osfService.host}")
+    private String remoteHost;
+    @Value("${osfService.port}")
+    private String remotePort;
 
     private static final Logger logger = LoggerFactory.getLogger(OspfInfoService.class);
 
@@ -78,27 +87,6 @@
         OspfInfoMapper.updateById(ospfInfo);
     }
 
-//    public boolean checkOspfStatus() {
-//        String command = "display ospf brief";
-//        String output = routerConnectionService.executeCommand(command);
-//
-//        if (output == null) {
-//            return false;
-//        }
-//
-//        // 妫�鏌ヨ緭鍑轰腑鏄惁鍖呭惈OSPF鐩稿叧淇℃伅
-//        boolean containsRouterId = StringUtils.containsIgnoreCase(output, "Router ID");
-//        boolean containsArea = StringUtils.containsIgnoreCase(output, "Area");
-//        boolean containsProcessId = StringUtils.containsIgnoreCase(output, "Process ID");
-//
-//        // 妫�鏌ユ槸鍚︽湁閿欒淇℃伅
-//        boolean containsError = StringUtils.containsIgnoreCase(output, "Error") ||
-//                StringUtils.containsIgnoreCase(output, "Fail") ||
-//                StringUtils.containsIgnoreCase(output, "Invalid");
-//
-//        return (containsRouterId && containsArea && containsProcessId) && !containsError;
-//    }
-
     /**
      * 鑾峰彇璇︾粏鐨凮SPF閭诲眳淇℃伅
      */
@@ -107,6 +95,7 @@
         for (OspfInfo ospfInfo : ospfInfos) {
             String command = "display ospf peer "+ospfInfo.getHostname();
             String result =  routerConnectionService.executeCommand(command,ospfInfo.getMonitorUsername(),ospfInfo.getMonitorPassword(),ospfInfo.getMonitorIp());
+            System.out.println("鑾峰彇鍒扮殑閭诲眳淇℃伅涓猴細"+result);
             if(StringUtils.isNotBlank(result)){
                 List<OspfNeighbor> neighbors = ospfNeighborUtil.analysisStr(result);
                 if(neighbors != null || neighbors.size()>0){
@@ -144,6 +133,32 @@
         }
     }
 
+    public void getRouterStatus() {
+        List<OspfInfo> ospfInfos = OspfInfoMapper.selectAllByParams(null);
+        for (OspfInfo ospfInfo : ospfInfos) {
+            String command = "display ospf peer "+ospfInfo.getHostname();
+            Map<String,String> map = new HashMap<>();
+            map.put("command",command);
+            map.put("username",ospfInfo.getMonitorUsername());
+            map.put("password",ospfInfo.getMonitorPassword());
+            map.put("monitorIp",ospfInfo.getMonitorIp());
+            String str = JSON.toJSONString(map);
+            System.out.println(str);
+            try {
+                String url = "http://"+remoteHost+":"+remotePort+"/api/connect/getResult";
+                String responseBody = HttpRequest.post(url)
+                        .timeout(5000)
+                        .body(str)
+                        .execute()
+                        .body();
+                System.out.println(responseBody);
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
     /**
      * 鑾峰彇OSPF鎺ュ彛鐘舵��
      */

--
Gitblit v1.9.1