智慧保安后台管理-外网
Administrator
2022-06-08 abe28eee6f474983ec6779ebd8c24030c4c0236c
ftp 连接配置修改优化
4 files modified
104 ■■■■■ changed files
src/main/java/org/springblade/modules/FTP/DataHandler.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/Monitor.java 95 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/quartz/task/Task.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/DataHandler.java
@@ -90,7 +90,7 @@
    }
    /**
     * 数据处理
     * 数据处理(用户单个新增)
     * @param json json 字符串
     * @param uuid 随机字符串
     * @return
src/main/java/org/springblade/modules/FTP/Monitor.java
@@ -70,8 +70,6 @@
            } else {
                for (FTPFile file : files){
                    String fileName = file.getName();
//                    InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
//                    String substring1 = fileName.substring(0, 2);
                    if (fileName.contains("ni")){
                        System.out.println("-------接收到内网回传的文件: " + fileName);
                        //把文件下载到本地
@@ -82,10 +80,10 @@
                        Result result = DataHandler.handler(s,uuid);
                        //删除本地文件
                        MysqlCenlint.deletess(fileName);
//                        ftp.dele(fileName);
                        FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
//                        is.close();
                        ftp.dele(fileName);
//                        FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
                        ftp.completePendingCommand();
                        ftp.logout();
                        if (result.getCode()==200) {
                            //返回
                            return new Result(200,null,"新增成功",null);
@@ -115,7 +113,7 @@
            System.out.println("ftp连接失败");
            e.printStackTrace();
        } finally {
            if (ftp != null) {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
                } catch (IOException e) {
@@ -170,8 +168,6 @@
                for (FTPFile file : files){
                    String fileName = file.getName();
                    if (fileName.contains("nl")){
                        //转流
//                        InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
                        //把文件下载到本地
                        FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
                        // 解析数据
@@ -190,6 +186,7 @@
                        }
//                        is.close();
                        ftp.completePendingCommand();
                        ftp.logout();
                    }
                }
                return new Result(400,null,"未读取到对应的文件",null);
@@ -198,7 +195,7 @@
            System.out.println("ftp连接失败");
            e.printStackTrace();
        } finally {
            if (ftp != null) {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
                } catch (IOException e) {
@@ -252,8 +249,6 @@
            } else {
                for (FTPFile file : files){
                    String fileName = file.getName();
//                    InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
//                    String substring1 = fileName.substring(0, 2);
                    if (fileName.contains("nt")){
                        //把文件下载到本地
                        FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
@@ -273,6 +268,7 @@
                        }
//                        is.close();
                        ftp.completePendingCommand();
                        ftp.logout();
                    }
                }
                return new Result(400,null,"未读取到对应的文件",null);
@@ -281,7 +277,7 @@
            System.out.println("ftp连接失败");
            e.printStackTrace();
        } finally {
            if (ftp != null) {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
                } catch (IOException e) {
@@ -335,52 +331,46 @@
            else {
                for (FTPFile file : files) {
                    String fileName = file.getName();
//                    InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
//                    if (null == is) {
//                        return false;
//                    } else {
//                        String substring1 = fileName.substring(0, 2);
                        if (fileName.contains("nq")) {
                            //把文件下载到本地
                            FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
                            //
                            String s = OutJson.TestJson(fileName);
                            //sql语句
                            String sql = OutJson.stringReplace(s);
                            String[] split = sql.split(";");//以逗号分割
                            for (String sqls : split) {
                                //判断是否是新增,删除,修改
                                String substring = sqls.substring(0, 2);
                                //新增
                                if (substring.equals("in")) {
                                    //运行sql语句
                                    MysqlCenlint.inster(sqls);
                                }
                                //修改
                                else if (substring.equals("up")) {
                                    MysqlCenlint.update(sqls);
                                }
                                //删除
                                else {
                                    MysqlCenlint.delete(sqls);
                                }
                    if (fileName.contains("nq")) {
                        //把文件下载到本地
                        FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
                        //
                        String s = OutJson.TestJson(fileName);
                        //sql语句
                        String sql = OutJson.stringReplace(s);
                        String[] split = sql.split(";");//以逗号分割
                        for (String sqls : split) {
                            //判断是否是新增,删除,修改
                            String substring = sqls.substring(0, 2);
                            //新增
                            if (substring.equals("in")) {
                                //运行sql语句
                                MysqlCenlint.inster(sqls);
                            }
                            //删除本地服务器文件
                            MysqlCenlint.deletess(fileName);
                            //删除 ftp 服务器文件
//                            ftp.dele(fileName);
                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
                            //修改
                            else if (substring.equals("up")) {
                                MysqlCenlint.update(sqls);
                            }
                            //删除
                            else {
                                MysqlCenlint.delete(sqls);
                            }
                        }
                        //关闭流
//                        is.close();
                        ftp.completePendingCommand();
                        //删除本地服务器文件
                        MysqlCenlint.deletess(fileName);
                        //删除 ftp 服务器文件
//                            ftp.dele(fileName);
                        FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
                    }
                    ftp.completePendingCommand();
                    ftp.logout();
                }
            }
        } catch (Exception e) {
            System.out.println("ftp连接失败");
            e.printStackTrace();
        } finally {
            if (ftp != null) {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
                } catch (IOException e) {
@@ -399,7 +389,6 @@
    public static Result getSecurityNumberBit(String uuid) {
        //创建 ftp 对象
        FTPClient ftp = new FTPClient();
        boolean flag = false;
        try {
            //设置超时时间
            ftp.setDataTimeout(60000);
@@ -435,8 +424,6 @@
            } else {
                for (FTPFile file : files){
                    String fileName = file.getName();
//                    InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
//                    String substring1 = fileName.substring(0, 2);
                    if (fileName.contains("ns")){
                        //把文件下载到本地
                        FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
@@ -454,8 +441,8 @@
                            //返回
                            return result;
                        }
//                        is.close();
                        ftp.completePendingCommand();
                        ftp.logout();
                    }
                }
                return new Result(400,null,"未读取到对应的文件",null);
src/main/java/org/springblade/modules/quartz/task/Task.java
@@ -74,7 +74,6 @@
//    @Scheduled(cron = "*/30 * * * * ?")
    public boolean readFile() {
        FTPClient ftp = new FTPClient();
        System.out.println("ftp 创建客户端");
        try {
            //设置传输超时时间为60秒
            ftp.setDataTimeout(10000);
@@ -147,8 +146,8 @@
                        //删除本地服务器文件
                        MysqlCenlint.deletess(fileName);
                        //删除 ftp 服务器文件
//                            ftp.dele(fileName);
                        FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
                        ftp.dele(fileName);
//                        FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
                        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":成功删除ftp文件 = " + fileName);
                    }
                }
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -1624,7 +1624,7 @@
        //调用ftp获取返回数据
        while (true){
            System.out.println("用户新增开始接收消息......................");
            Thread.sleep(1000);
            Thread.sleep(2000);
            //调用ftp获取返回数据
            result = Monitor.isFTPFileExist(uuid);
            //如果返回true,就退处