From 55f4c8cda0f426e3a8d31908018a6b9c890bc006 Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang@960204@163.com>
Date: 星期二, 02 十二月 2025 20:04:09 +0800
Subject: [PATCH] fix:完善逻辑

---
 src/main/java/com/wgcloud/service/RouterConnectionService.java |   55 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 35 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/wgcloud/service/RouterConnectionService.java b/src/main/java/com/wgcloud/service/RouterConnectionService.java
index afc6364..3490c57 100644
--- a/src/main/java/com/wgcloud/service/RouterConnectionService.java
+++ b/src/main/java/com/wgcloud/service/RouterConnectionService.java
@@ -14,25 +14,38 @@
 @Service
 public class RouterConnectionService {
 
-    @Value("${router.host}")
-    private String routerHost;
-
-    @Value("${router.username}")
-    private String routerUsername;
-
-    @Value("${router.password}")
-    private String routerPassword;
-
     private Session session;
+
+//    /**
+//     * 杩炴帴鍒拌矾鐢卞櫒
+//     */
+//    public boolean connect() {
+//        try {
+//            JSch jsch = new JSch();
+//            session = jsch.getSession(routerUsername, routerHost, 22);
+//            session.setPassword(routerPassword);
+//
+//            // 璁剧疆涓嶈繘琛屼富鏈哄瘑閽ユ鏌�
+//            Properties config = new Properties();
+//            config.put("StrictHostKeyChecking", "no");
+//            session.setConfig(config);
+//
+//            session.connect(5000); // 5绉掕秴鏃�
+//            return true;
+//        } catch (JSchException e) {
+//            System.err.println("杩炴帴璺敱鍣ㄥけ璐�: " + e.getMessage());
+//            return false;
+//        }
+//    }
 
     /**
      * 杩炴帴鍒拌矾鐢卞櫒
      */
-    public boolean connect() {
+    public boolean connect(String username,String hostname,String password) {
         try {
             JSch jsch = new JSch();
-            session = jsch.getSession(routerUsername, routerHost, 22);
-            session.setPassword(routerPassword);
+            session = jsch.getSession(username, hostname, 22);
+            session.setPassword(password);
 
             // 璁剧疆涓嶈繘琛屼富鏈哄瘑閽ユ鏌�
             Properties config = new Properties();
@@ -59,18 +72,19 @@
     /**
      * 鎵ц璺敱鍣ㄥ懡浠�
      */
-    public String executeCommand(String command) {
-        if (!isConnected()) {
-            if (!connect()) {
-                return null;
-            }
+    public String executeCommand(String command,String username,String password,String hostname) {
+//        if (!isConnected()) {
+//            if (!connect(username,hostname,password)) {
+//                return null;
+//            }
+//        }
+        if (!connect(username,hostname,password)) {
+            return null;
         }
 
         try {
             ChannelExec channel = (ChannelExec) session.openChannel("exec");
             channel.setCommand(command);
-            channel.connect();
-
             BufferedReader reader = new BufferedReader(new InputStreamReader(channel.getInputStream()));
             StringBuilder output = new StringBuilder();
             String line;
@@ -81,6 +95,7 @@
 
             reader.close();
             channel.disconnect();
+            disconnect();
             return output.toString();
         } catch (Exception e) {
             System.err.println("鎵ц鍛戒护澶辫触: " + e.getMessage());
@@ -95,4 +110,4 @@
     public boolean isConnected() {
         return session != null && session.isConnected();
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.1