From 4560c0ee813c2f75a04ffe1a658882f1020dec37 Mon Sep 17 00:00:00 2001
From: lishipeng <1572427111@qq.com>
Date: Sat, 10 Dec 2022 17:38:51 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ftpdemo/service/impl/MethodImpl.java      |  4 +-
 .../ftpdemo/task/IdentificationUpTask.java    | 36 ++++-----
 .../com/example/ftpdemo/task/TestTask.java    |  2 +-
 .../com/example/ftpdemo/util/JschUtil.java    | 79 +++++++++----------
 4 files changed, 59 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/example/ftpdemo/service/impl/MethodImpl.java b/src/main/java/com/example/ftpdemo/service/impl/MethodImpl.java
index d98b609..cadb021 100644
--- a/src/main/java/com/example/ftpdemo/service/impl/MethodImpl.java
+++ b/src/main/java/com/example/ftpdemo/service/impl/MethodImpl.java
@@ -73,7 +73,7 @@ public class MethodImpl implements Method {
         jschUtil.directory(upSrc);
         // 上传文件到指定目录
 //        SSHRemoteCall.getInstance().uploadFile("/data1/qingniao/" + upSrc + "/" + fileName, src);
-        jschUtil.upload( src,"/data1/qingniao/" + upSrc + "/" + fileName);
+        jschUtil.upload("/data1/qingniao/" + upSrc + "/" + fileName, src);
 
     }
 
@@ -417,7 +417,7 @@ public class MethodImpl implements Method {
     @Override
     public void deletUpFile(String localPackage) {
         File directory = new File(localPackage);
-        for (File file: Objects.requireNonNull(directory.listFiles())) {
+        for (File file : Objects.requireNonNull(directory.listFiles())) {
             if (!file.isDirectory()) {
                 file.delete();
             }
diff --git a/src/main/java/com/example/ftpdemo/task/IdentificationUpTask.java b/src/main/java/com/example/ftpdemo/task/IdentificationUpTask.java
index e61924c..6ee9fdb 100644
--- a/src/main/java/com/example/ftpdemo/task/IdentificationUpTask.java
+++ b/src/main/java/com/example/ftpdemo/task/IdentificationUpTask.java
@@ -82,13 +82,13 @@ public class IdentificationUpTask {
         }
         // 如果没有生成文件,可直接结束
         if (!temp) {
-            String logName ="";
-            if (type==0){
-                logName ="新增";
-            }else {
-                logName ="更新";
+            String logName = "";
+            if (type == 0) {
+                logName = "新增";
+            } else {
+                logName = "更新";
             }
-            XxlJobHelper.log("表1:昨日无"+logName+"数据日志!");
+            XxlJobHelper.log("表1:昨日无" + logName + "数据日志!");
             return;
         }
 
@@ -134,13 +134,13 @@ public class IdentificationUpTask {
         }
         // 如果没有生成文件,可直接结束
         if (!temp) {
-            String logName ="";
-            if (type==0){
-                logName ="新增";
-            }else {
-                logName ="更新";
+            String logName = "";
+            if (type == 0) {
+                logName = "新增";
+            } else {
+                logName = "更新";
             }
-            XxlJobHelper.log("表2:昨日无"+logName+"数据日志!");
+            XxlJobHelper.log("表2:昨日无" + logName + "数据日志!");
             return;
         }
 
@@ -184,13 +184,13 @@ public class IdentificationUpTask {
         }
         // 如果没有生成文件,可直接结束
         if (!temp) {
-            String logName ="";
-            if (type==0){
-                logName ="新增";
-            }else {
-                logName ="更新";
+            String logName = "";
+            if (type == 0) {
+                logName = "新增";
+            } else {
+                logName = "更新";
             }
-            XxlJobHelper.log("表3:昨日无"+logName+"数据日志!");
+            XxlJobHelper.log("表3:昨日无" + logName + "数据日志!");
             return;
         }
 
diff --git a/src/main/java/com/example/ftpdemo/task/TestTask.java b/src/main/java/com/example/ftpdemo/task/TestTask.java
index bd62121..350aa1f 100644
--- a/src/main/java/com/example/ftpdemo/task/TestTask.java
+++ b/src/main/java/com/example/ftpdemo/task/TestTask.java
@@ -17,7 +17,7 @@ import org.springframework.util.StopWatch;
 public class TestTask {
     private final Method method;
 
-    @XxlJob("demoJobHandler")
+//    @XxlJob("demoJobHandler")
     public void refreshAliDeviceStatus() throws Exception {
         StopWatch stopWatch = new StopWatch("task");
         stopWatch.start();
diff --git a/src/main/java/com/example/ftpdemo/util/JschUtil.java b/src/main/java/com/example/ftpdemo/util/JschUtil.java
index dc81dd2..9282226 100644
--- a/src/main/java/com/example/ftpdemo/util/JschUtil.java
+++ b/src/main/java/com/example/ftpdemo/util/JschUtil.java
@@ -4,9 +4,6 @@ import com.jcraft.jsch.*;
 import com.xxl.job.core.context.XxlJobHelper;
 
 import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
 import java.util.Properties;
 
 public class JschUtil {
@@ -208,20 +205,20 @@ public class JschUtil {
             Properties config = new Properties();
             config.put("StrictHostKeyChecking", "no");
             session.setConfig(config);
-            // 超时连接时间为3秒
-            session.setTimeout(30000);
+            // 超时连接时间为60秒
+            session.setTimeout(60000);
             // 进行连接
             session.connect();
             // 打开SFTP通道
             chSftp = (ChannelSftp) session.openChannel("sftp");
             // 建立STFP连接
-            chSftp.connect();
+            chSftp.connect(60000);
             // 设置编码格式
             chSftp.setFilenameEncoding("UTF-8");
             // 创建一个文件名称问uploadFile的文件
             File file = new File(uploadFile);
-            chSftp.put(new FileInputStream(file), uploadFile);
-            XxlJobHelper.log("文件上传成功到:"+file.getName());
+            chSftp.put(new FileInputStream(file), directory, ChannelSftp.OVERWRITE);
+            XxlJobHelper.log("文件上传成功到:" + file.getName());
         } catch (JSchException | SftpException | FileNotFoundException e) {
             XxlJobHelper.log(e.getMessage());
         } finally {
@@ -288,54 +285,54 @@ public class JschUtil {
     public void directory(String path) {
 
         try {
-                jSch = new JSch();
+            jSch = new JSch();
 
-                // 根据主机账号、ip、端口获取一个Session对象
-                session = jSch.getSession(username, host, port);
+            // 根据主机账号、ip、端口获取一个Session对象
+            session = jSch.getSession(username, host, port);
 
-                // 存放主机密码
-                session.setPassword(password);
+            // 存放主机密码
+            session.setPassword(password);
 
-                // 去掉首次连接确认
-                Properties config = new Properties();
-                config.put("StrictHostKeyChecking", "no");
-                session.setConfig(config);
+            // 去掉首次连接确认
+            Properties config = new Properties();
+            config.put("StrictHostKeyChecking", "no");
+            session.setConfig(config);
 
-                // 超时连接时间为3秒
-                session.setTimeout(30000);
+            // 超时连接时间为3秒
+            session.setTimeout(30000);
 
-                // 进行连接
-                session.connect();
+            // 进行连接
+            session.connect();
 
-                // 打开SFTP通道
-                chSftp = (ChannelSftp) session.openChannel("sftp");
+            // 打开SFTP通道
+            chSftp = (ChannelSftp) session.openChannel("sftp");
 
-                // 建立SFTP通道的连接
-                chSftp.connect();
+            // 建立SFTP通道的连接
+            chSftp.connect();
 
-                String[] folders = path.split("/");
-                for (String folder : folders) {
-                    if (folder.length() > 0) {
+            String[] folders = path.split("/");
+            for (String folder : folders) {
+                if (folder.length() > 0) {
+                    try {
+                        chSftp.cd(folder);
+                    } catch (SftpException e) {
                         try {
+                            chSftp.mkdir(folder);
+                            XxlJobHelper.log("生成目录" + folder);
                             chSftp.cd(folder);
-                        } catch (SftpException e) {
-                            try {
-                                chSftp.mkdir(folder);
-                                XxlJobHelper.log("生成目录" + folder);
-                                chSftp.cd(folder);
-                            } catch (SftpException ex) {
-                                throw new RuntimeException(ex);
-                            }
+                        } catch (SftpException ex) {
+                            throw new RuntimeException(ex);
                         }
                     }
                 }
-
-            } catch (JSchException e) {
-                throw new RuntimeException(e);
-            } finally {
-                close();
             }
+
+        } catch (JSchException e) {
+            throw new RuntimeException(e);
+        } finally {
+            close();
         }
+    }
 
 }