From 8dda58f0c652dbe6a8307eedd431957acb1ec960 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Sat, 21 Aug 2021 09:19:12 +0800
Subject: [PATCH] 1.ftp

---
 src/main/java/org/springblade/modules/FTP/FtpUtil.java                                  |   50 +++++-------
 src/main/java/org/springblade/modules/FTP/FtpUploadFile.java                            |    2 
 src/main/java/org/springblade/modules/FTP/MysqlCenlint.java                             |    2 
 src/main/java/org/springblade/modules/FTP/FtpMain.java                                  |    2 
 src/main/java/org/springblade/modules/FTP/monitor.java                                  |  117 +++++++++++++++++++++++++++++
 src/main/java/org/springblade/modules/FTP/OutJson.java                                  |    4 
 src/main/java/org/springblade/modules/information/controller/InformationController.java |   14 ---
 7 files changed, 142 insertions(+), 49 deletions(-)

diff --git a/src/main/java/org/springblade/common/utils/FtpMain.java b/src/main/java/org/springblade/modules/FTP/FtpMain.java
similarity index 96%
rename from src/main/java/org/springblade/common/utils/FtpMain.java
rename to src/main/java/org/springblade/modules/FTP/FtpMain.java
index 71b0f43..6397f59 100644
--- a/src/main/java/org/springblade/common/utils/FtpMain.java
+++ b/src/main/java/org/springblade/modules/FTP/FtpMain.java
@@ -1,4 +1,4 @@
-package org.springblade.common.utils;
+package org.springblade.modules.FTP;
 
 import java.io.FileNotFoundException;
 
diff --git a/src/main/java/org/springblade/common/utils/FtpUploadFile.java b/src/main/java/org/springblade/modules/FTP/FtpUploadFile.java
similarity index 98%
rename from src/main/java/org/springblade/common/utils/FtpUploadFile.java
rename to src/main/java/org/springblade/modules/FTP/FtpUploadFile.java
index 9130c18..c35f666 100644
--- a/src/main/java/org/springblade/common/utils/FtpUploadFile.java
+++ b/src/main/java/org/springblade/modules/FTP/FtpUploadFile.java
@@ -1,4 +1,4 @@
-package org.springblade.common.utils;
+package org.springblade.modules.FTP;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
diff --git a/src/main/java/org/springblade/common/utils/FtpUtil.java b/src/main/java/org/springblade/modules/FTP/FtpUtil.java
similarity index 90%
rename from src/main/java/org/springblade/common/utils/FtpUtil.java
rename to src/main/java/org/springblade/modules/FTP/FtpUtil.java
index 2ecd30a..03c1f99 100644
--- a/src/main/java/org/springblade/common/utils/FtpUtil.java
+++ b/src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -1,4 +1,4 @@
-package org.springblade.common.utils;
+package org.springblade.modules.FTP;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -11,13 +11,16 @@
 
 /**
  * ftp工具类
+ *
  * @author lijj
  */
 
 public class FtpUtil {
 
 	private final static Log logger = LogFactory.getLog(FtpUtil.class);
-	/** 本地字符编码 */
+	/**
+	 * 本地字符编码
+	 */
 	private static String LOCAL_CHARSET = "GBK";
 
 	// FTP协议里面,规定文件名编码为iso-8859-1
@@ -26,18 +29,10 @@
 	/**
 	 * 获取FTPClient对象
 	 *
-	 * @param ftpHost
-	 *            FTP主机服务器
-	 *
-	 * @param ftpPassword
-	 *            FTP 登录密码
-	 *
-	 * @param ftpUserName
-	 *            FTP登录用户名
-	 *
-	 * @param ftpPort
-	 *            FTP端口 默认为21
-	 *
+	 * @param ftpHost     FTP主机服务器
+	 * @param ftpPassword FTP 登录密码
+	 * @param ftpUserName FTP登录用户名
+	 * @param ftpPort     FTP端口 默认为21
 	 * @return
 	 */
 	public static FTPClient getFTPClient(String ftpHost, int ftpPort, String ftpUserName, String ftpPassword) {
@@ -65,19 +60,13 @@
 	/**
 	 * 从FTP服务器下载文件
 	 *
-	 * @param ftpHost FTP IP地址
-	 *
+	 * @param ftpHost     FTP IP地址
 	 * @param ftpUserName FTP 用户名
-	 *
 	 * @param ftpPassword FTP用户名密码
-	 *
-	 * @param ftpPort FTP端口
-	 *
-	 * @param ftpPath FTP服务器中文件所在路径 格式: ftptest/aa
-	 *
-	 * @param localPath 下载到本地的位置 格式:H:/download
-	 *
-	 * @param fileName 文件名称
+	 * @param ftpPort     FTP端口
+	 * @param ftpPath     FTP服务器中文件所在路径 格式: ftptest/aa
+	 * @param localPath   下载到本地的位置 格式:H:/download
+	 * @param fileName    文件名称
 	 */
 	public static void downloadFtpFile(String ftpHost, String ftpUserName, String ftpPassword, int ftpPort,
 									   String ftpPath, String localPath, String fileName) {
@@ -101,16 +90,16 @@
 			InputStream retrieveFileStream = ftpClient.retrieveFileStream(fileNameTemp);
 
 			// 第一种方式下载文件(推荐)
-			  //File localFile = new File(localPath + File.separatorChar + fileName);
-			  //OutputStream os = new FileOutputStream(localFile);
-			  //ftpClient.retrieveFile(fileName, os); os.close();
+			//File localFile = new File(localPath + File.separatorChar + fileName);
+			//OutputStream os = new FileOutputStream(localFile);
+			//ftpClient.retrieveFile(fileName, os); os.close();
 
 
 			// 第二种方式下载:将输入流转成字节,再生成文件,这种方式方便将字节数组直接返回给前台jsp页面
 			byte[] input2byte = input2byte(retrieveFileStream);
 			byte2File(input2byte, localPath, fileName);
 
-			if(null != retrieveFileStream){
+			if (null != retrieveFileStream) {
 				retrieveFileStream.close();
 			}
 		} catch (FileNotFoundException e) {
@@ -181,7 +170,7 @@
 				return result;
 			}
 
-			if(null != input){
+			if (null != input) {
 				input.close();
 			}
 
@@ -293,4 +282,5 @@
 			}
 		}
 	}
+
 }
diff --git a/src/main/java/org/springblade/common/utils/MysqlCenlint.java b/src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
similarity index 98%
rename from src/main/java/org/springblade/common/utils/MysqlCenlint.java
rename to src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
index 550cca0..86f4a22 100644
--- a/src/main/java/org/springblade/common/utils/MysqlCenlint.java
+++ b/src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
@@ -1,4 +1,4 @@
-package org.springblade.common.utils;
+package org.springblade.modules.FTP;
 
 
 import java.io.File;
diff --git a/src/main/java/org/springblade/common/utils/OutJson.java b/src/main/java/org/springblade/modules/FTP/OutJson.java
similarity index 98%
rename from src/main/java/org/springblade/common/utils/OutJson.java
rename to src/main/java/org/springblade/modules/FTP/OutJson.java
index 821e54d..5b99711 100644
--- a/src/main/java/org/springblade/common/utils/OutJson.java
+++ b/src/main/java/org/springblade/modules/FTP/OutJson.java
@@ -1,4 +1,4 @@
-package org.springblade.common.utils;
+package org.springblade.modules.FTP;
 
 import java.io.*;
 
@@ -135,7 +135,6 @@
 		}
 		return result.toString();
 	}
-
 	/**
 	 * 删除文件
 	 * @param str
@@ -185,5 +184,4 @@
 		}
 		return  localStrBulider.toString();
 	}
-
 }
diff --git a/src/main/java/org/springblade/modules/FTP/monitor.java b/src/main/java/org/springblade/modules/FTP/monitor.java
new file mode 100644
index 0000000..2058172
--- /dev/null
+++ b/src/main/java/org/springblade/modules/FTP/monitor.java
@@ -0,0 +1,117 @@
+package org.springblade.modules.FTP;
+
+import org.apache.commons.net.ftp.FTP;
+import org.apache.commons.net.ftp.FTPClient;
+import org.apache.commons.net.ftp.FTPReply;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+@Component
+public class monitor {
+	//ftp服务器IP地址
+	private static String ftpHost = "192.168.0.105";
+	//ftp服务器端口
+	private static int ftpPort = 21;
+	//ftp服务器用户名
+	private static String ftpUserName = "yly";
+	//ftp服务器密码
+	private static String ftpPassword = "Yly@123";
+	//ftp服务器路径
+	private static String ftpPath = "anbao/sql.json";
+
+	@Scheduled(cron = "*/5 * * * * ?")
+	public static boolean isFTPFileExist() {
+
+		FTPClient ftp = new FTPClient();
+
+		try {
+
+			// 连接ftp服务器
+
+			ftp.connect(ftpHost, ftpPort);
+
+			// 登陆
+
+			ftp.login(ftpUserName, ftpPassword);
+
+			// 检验登陆操作的返回码是否正确
+
+			if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
+
+				ftp.disconnect();
+
+				return false;
+
+			}
+
+			ftp.enterLocalActiveMode();
+
+			// 设置文件类型为二进制,与ASCII有区别
+
+			ftp.setFileType(FTP.BINARY_FILE_TYPE);
+
+			// 设置编码格式
+
+			ftp.setControlEncoding("GBK");
+
+			// 提取绝对地址的目录以及文件名
+
+			ftpPath = ftpPath.replace("ftp://" + ftpHost + ":" + ftpPort + "/", "");
+
+			String dir = ftpPath.substring(0, ftpPath.lastIndexOf("/"));
+
+			String file = ftpPath.substring(ftpPath.lastIndexOf("/") + 1);
+
+			// 进入文件所在目录,注意编码格式,以能够正确识别中文目录
+
+			ftp.changeWorkingDirectory(new String(dir.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
+
+			// 检验文件是否存在
+
+			InputStream is = ftp.retrieveFileStream(new String(file.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
+
+			if (is == null || ftp.getReplyCode() == FTPReply.FILE_UNAVAILABLE) {
+				System.out.println(false);
+				return false;
+
+			}
+
+			if (is != null) {
+				System.out.println(true);
+				is.close();
+
+				ftp.completePendingCommand();
+
+			}
+
+			return true;
+
+		} catch (Exception e) {
+
+			e.printStackTrace();
+
+		} finally {
+
+			if (ftp != null) {
+
+				try {
+
+					ftp.disconnect();
+
+				} catch (IOException e) {
+
+					e.printStackTrace();
+
+				}
+
+			}
+
+		}
+
+		return false;
+
+	}
+}
diff --git a/src/main/java/org/springblade/modules/information/controller/InformationController.java b/src/main/java/org/springblade/modules/information/controller/InformationController.java
index 9eee520..0255a18 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -24,39 +24,27 @@
 
 import org.springblade.common.cache.DictCache;
 import org.springblade.common.enums.DictEnum;
-import org.springblade.common.utils.FtpUtil;
-import org.springblade.common.utils.MysqlCenlint;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.support.Kv;
-import org.springblade.core.tool.utils.Func;
-import org.springblade.modules.desk.entity.Notice;
-import org.springblade.modules.desk.vo.NoticeVO;
-import org.springblade.modules.desk.wrapper.NoticeWrapper;
 import org.springblade.modules.jurisdiction.service.JurisdictionService;
 import org.springblade.modules.jurisdiction.vo.JurisdictionVO;
-import org.springblade.modules.member.service.IMemberService;
-import org.springblade.modules.shareholder.service.IShareholderService;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.service.IDeptService;
-import org.springblade.modules.system.service.IUserDeptService;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.modules.information.entity.Information;
-import org.springblade.modules.information.vo.InformationVO;
 import org.springblade.modules.information.service.IInformationService;
 import org.springblade.core.boot.ctrl.BladeController;
 import springfox.documentation.annotations.ApiIgnore;
-import java.sql.*;
-import java.sql.DriverManager; //需要这个jar包 mysql-connector-java-5.1.49.jar
+
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
 import java.util.HashMap;
 
-import java.io.*;
 import java.util.*;
 
 import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;

--
Gitblit v1.9.3