智慧保安后台管理-外网项目备份
tangzy
2021-08-22 9a821722cb622571a4dce4dab87f11716506c98d
1.ftp
6 files modified
1 files deleted
325 ■■■■ changed files
pom.xml 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/FtpMain.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/FtpUploadFile.java 134 ●●●●● patch | view | raw | blame | history
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 75 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/controller/InformationController.java 58 ●●●● patch | view | raw | blame | history
pom.xml
@@ -224,6 +224,16 @@
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.12.1</version>
        </dependency>
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.1</version>
        </dependency>
    </dependencies>
    <build>
src/main/java/org/springblade/modules/FTP/FtpMain.java
@@ -22,7 +22,7 @@
        //下载
        //将ftp根目录下的文件下载至E盘
        FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName);
        //FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName);
        //上传
        //将E盘的文件上传至ftp根目录
src/main/java/org/springblade/modules/FTP/FtpUploadFile.java
File was deleted
src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
@@ -99,8 +99,8 @@
    /**
     * 删除本地文件
     */
    public  static  void delete(){
        File file = new File("D:\\anbao\\sql.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\\nsql.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,6 +2,7 @@
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;
@@ -20,11 +21,11 @@
    //ftp服务器密码
    private static String ftpPassword = "Yly@123";
    //ftp服务器路径
    private static String ftpPath = "anbao/nsql.json";
    private static String ftpPath = "anbao/";
    //本地路径
    private static String localPath = "D:\\anbao";
    //文件名
    private static String fileName = "nsql.json";
    //private static String fileName = "nsql.json";
    @Scheduled(cron = "*/30 * * * * ?")
@@ -64,30 +65,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) {
            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 +107,53 @@
                    }
                }
                //删除本地文件
                MysqlCenlint.delete();
                FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "nsql.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/information/controller/InformationController.java
@@ -45,6 +45,7 @@
import javax.validation.Valid;
import java.io.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -63,17 +64,15 @@
@Api(value = "", tags = "接口")
public class InformationController extends BladeController {
    //ftp服务器IP地址
    private  static  String ftpHost = "192.168.0.105";
    private static String ftpHost = "192.168.0.105";
    //ftp服务器端口
    private  static int ftpPort = 21;
    private static int ftpPort = 21;
    //ftp服务器用户名
    private  static String ftpUserName = "yly";
    private static String ftpUserName = "yly";
    //ftp服务器密码
    private  static String ftpPassword = "Yly@123";
    private static String ftpPassword = "Yly@123";
    //本地路径
    private  static String localPath = "D:\\anbao";
    //文件名
    private  static String fileName = "wsql.json";
    private static String localPath = "D:\\anbao";
    private final IInformationService informationService;
    private final IDeptService iDeptService;
@@ -198,11 +197,19 @@
            "'" + information.getContacts() + "'" + "," + "'" + information.getContactscell() + "'" + ");" +
            "insert into blade_dept(id,parent_id,tenant_id,dept_name,ancestors,dept_category) values(" + "'" + information.getDepartmentid() + "'" + "," + "'" + dept.getParentId() + "'" + ","
            + "'" + dept.getTenantId() + "'" + "," + "'" + information.getEnterprisename() + "'" + "," + "'" + dept.getAncestors() + "'" + "," + "'" + dept.getDeptCategory() + "'" + ")";
            Object o = s;
            String json = JSON.toJSONString(o);
            OutJson.createJsonFile(json, "d:/", "wsql");
            FileInputStream in = new FileInputStream(new File("D:\\" + fileName));
            FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
        Object o = s;
        String json = JSON.toJSONString(o);
        long l = System.currentTimeMillis();
        //new日期对
        Date date = new Date(l);
        //转换提日期输出格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(dateFormat.format(date));
        String response = dateFormat.format(date).replaceAll("[[\\s-:punct:]]", "");
        OutJson.createJsonFile(json, "d:/", "w"+response);
        FileInputStream in = new FileInputStream(new File("D:\\" + "w"+response+".json"));
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/",  "w"+response+".json", in);
        return R.success("成功");
    }
@@ -321,4 +328,31 @@
    }
    public static void main(String[] args) {
//        File file = new File("D:\\anbao");
//        if (file.exists()) {
//            File[] files = file.listFiles();
//            if (null == files || files.length == 0) {
//                System.out.println("文件夹是空的!");
//                return;
//            } else {
//                for (File file2 : files) {
//                    if (file2.isDirectory()) {
//                        System.out.println("文件夹:" + file2.getAbsolutePath());
//                    } else {
//                        System.out.println("文件:" + file2.getAbsolutePath());
//                        String urls = file2.getAbsolutePath();
//                        String s = OutJson.TestJsons(urls);
//                        //sql语句
//                        String sql = OutJson.stringReplace(s);
//                        System.out.println(sql);
//                    }
//                }
//            }
//        } else {
//            System.out.println("文件不存在!");
//        }
    }
}