智慧保安后台管理项目备份
tangzy
2021-08-22 23ea6c8a9488b2d271a2389e2992ce7baefc77d9
1.ftp
4 files modified
126 ■■■■ changed files
src/main/java/org/springblade/modules/FTP/MysqlCenlint.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/OutJson.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/monitor.java 78 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/social/controller/SocialController.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
@@ -99,8 +99,8 @@
    /**
     * 删除本地文件
     */
    public  static  void delete(){
        File file = new File("D:\\anbao\\wsql.json");
    public  static  void deletes(String fileName){
        File file = new File("D:\\"+fileName);
        if (file.isFile() && file.exists()) {
            file.delete();
        }
src/main/java/org/springblade/modules/FTP/OutJson.java
@@ -151,8 +151,46 @@
     * 读取json文件并解析
     * @return
     */
    public static String TestJson(){
        File file = new File("D:\\anbao\\wsql.json");
    public static String TestJson(String fileName){
        File file = new File("D:\\"+fileName);
        StringBuilder localStrBulider = new StringBuilder();
        if(file.isFile() && file.exists()) {
            try {
                InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file), "utf-8");
                BufferedReader bufferReader = new BufferedReader(inputStreamReader);
                String lineStr = null;
                try {
                    while((lineStr = bufferReader.readLine()) != null) {
                        localStrBulider.append(lineStr);
                    }
                    bufferReader.close();
                    inputStreamReader.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    System.out.println("file read error!");
                    e.printStackTrace();
                }
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                System.out.println("file catch unsupported encoding!");
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                System.out.println("file not found!");
                e.printStackTrace();
            }
        }else {
            System.out.println("file is not a file or file is not existing!");
        }
        return  localStrBulider.toString();
    }
    /**
     * 读取json文件并解析
     * @return
     */
    public static String TestJsons(String urls){
        File file = new File(urls);
        StringBuilder localStrBulider = new StringBuilder();
        if(file.isFile() && file.exists()) {
            try {
src/main/java/org/springblade/modules/FTP/monitor.java
@@ -2,12 +2,12 @@
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
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 {
@@ -20,11 +20,12 @@
    //ftp服务器密码
    private static String ftpPassword = "Yly@123";
    //ftp服务器路径
    private static String ftpPath = "anbao/wsql.json";
    private static String ftpPath = "anbao/";
    //本地路径
    private static String localPath = "D:\\anbao";
    //文件名
    private static String fileName = "wsql.json";
    //private static String fileName = "nsql.json";
    @Scheduled(cron = "*/30 * * * * ?")
    public static boolean isFTPFileExist() {
@@ -63,31 +64,27 @@
            // 提取绝对地址的目录以及文件名
            ftpPath = ftpPath.replace("ftp://" + ftpHost + ":" + ftpPort + "/", "");
            //ftpPath = ftpPath.replace("ftp://" + ftpHost + ":" + ftpPort + "/", "");
            String dir = ftpPath.substring(0, ftpPath.lastIndexOf("/"));
            //String dir = ftpPath.substring(0, ftpPath.lastIndexOf("/"));
            String file = ftpPath.substring(ftpPath.lastIndexOf("/") + 1);
            // file = ftpPath.substring(ftpPath.lastIndexOf("/") + 1);
            // 进入文件所在目录,注意编码格式,以能够正确识别中文目录
            ftp.changeWorkingDirectory(new String(dir.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
            //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);
            FTPFile[] files = ftp.listFiles();
            if (files.length==0){
                return false;
            }
            if (is != null) {
            for (FTPFile file : files){
                String fileName = file.getName();
                //把文件下载到本地
                FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName);
                //
                String s = OutJson.TestJson();
                String s = OutJson.TestJson(fileName);
                //sql语句
                String sql = OutJson.stringReplace(s);
                String[] split = sql.split(";");//以逗号分割
@@ -109,14 +106,53 @@
                    }
                }
                //删除本地文件
                MysqlCenlint.delete();
                FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "wsql.json");
                is.close();
                MysqlCenlint.deletes(fileName);
                FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                //is.close();
                ftp.completePendingCommand();
                return true;
            }
            return true;
            //InputStream is = ftp.retrieveFileStream(new String(file.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
//            if (is == null || ftp.getReplyCode() == FTPReply.FILE_UNAVAILABLE) {
//                return false;
//
//            }
//
//            if (is != null) {
//                //把文件下载到本地
//                FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName);
//                //
//                String s = OutJson.TestJson();
//                //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);
//                    }
//                }
//                //删除本地文件
//                MysqlCenlint.delete();
//                FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "nsql.json");
//                is.close();
//                ftp.completePendingCommand();
//
//            }
        } catch (Exception e) {
src/main/java/org/springblade/modules/social/controller/SocialController.java
@@ -135,7 +135,7 @@
    /**
     * 导入用户
     * 导入社保
     */
    @PostMapping("import-user")
    @ApiOperationSupport(order = 12)