钟日健
2022-04-28 2f3462ccabb710c89a656e34f81b64785ff0dfe2
保安员批量导入ftp 配置修改
5 files modified
126 ■■■■■ changed files
src/main/java/org/springblade/common/utils/DesensitizedUtil.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/DataHanlder.java 84 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/FtpUtil.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/Monitor.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/Result.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/utils/DesensitizedUtil.java
@@ -116,7 +116,7 @@
        Map<String, Object> map = new HashMap<>(1);
        String a = "sdafa-445sdaf-fsafdsaf";
        map.put(a,"abc");
        System.out.println("map = " + map);
        System.out.println("map = " + map.keySet());
        Object o = map.get(a);
        System.out.println("o = " + o);
    }
src/main/java/org/springblade/modules/FTP/DataHanlder.java
@@ -47,6 +47,7 @@
    @Autowired
    private IDeptService iDeptService;
    /**
     * 初始化
     */
@@ -63,6 +64,89 @@
    /**
     * 数据处理(集合)
     * @param json
     */
    public static void handlerList(String json) {
        Map map = JSON.parseObject(json, Map.class);
        //取出 key(uuid)
        String key = map.keySet().toArray()[0].toString();
        Object users = map.get(key);
        List<User> userList = JSON.parseArray(users.toString(), User.class);
        //遍历
        if (userList.size()>0) {
            List<Result> resultList = new ArrayList<>();
            //开始遍历
            for (User user : userList) {
                //取出 uuid
                String uuid = user.getReasonForLeav();
                //用户数据校验,是否已导入(本单位或其他单位)
                Result result = userCheckOut(user);
                //创建返回对象
                Result result1 = new Result();
                if (result.getCode() == 200) {
                    user.setReasonForLeav("");
                    //校验保安员证编号
                    Result result2 = hanlder.checkSecurityNumber(user);
                    User user1 = result2.getUser();
                    //去新增
                    boolean save = hanlder.userService.save(user1);
                    if (save) {
                        //异步新增从业记录
                        hanlder.myAsyncService.insertExperience(user1);
                        //异步审查
                        hanlder.myAsyncService.checkUserExamineByCardNo(user1);
                    }
                    if (result2.getCode() == 200) {
                        //设置返回结果
                        result1.setCode(200);
                        result1.setUserId(user1.getId());
                    } else {
                        //设置返回结果
                        result1.setCode(203);
                        result1.setUserId(user1.getId());
                    }
                } else if (result.getCode() == 201) {
                    //去修改
                    user.setReasonForLeav("");
                    User data = result.getUser();
                    user.setId(data.getId());
                    //校验保安员证编号
                    Result result2 = hanlder.checkSecurityNumber(user);
                    User user2 = result2.getUser();
                    user2.setId(data.getId());
                    //修改
                    hanlder.userService.updateById(user2);
                    //设置返回结果
                    if (result2.getCode() == 200) {
                        result1.setCode(201);
                        result1.setUserId(user.getId());
                    } else {
                        //设置返回结果
                        result1.setCode(203);
                        result1.setUserId(user.getId());
                    }
                } else {
                    //不新增,不修改
                    //设置返回结果,以在其他单位存在
                    result1.setCode(202);
                    result1.setUserId(null);
                }
                result1.setMsg(uuid);
                //存入结果集
                resultList.add(result1);
            }
            Result result = new Result(200, "", resultList);
            Map<String, Object> map1 = new HashMap<>(1);
            map1.put(key, result);
            //向外网发送数据
            FtpUtil.objectFileUploadList(map1);
        }
    }
    /**
     * 数据处理
     * @param json
     */
src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -11,6 +11,8 @@
import java.io.*;
import java.net.SocketException;
import java.util.Date;
import java.util.Map;
import net.lingala.zip4j.core.ZipFile;
import static org.springblade.common.config.FtpConfig.*;
@@ -378,5 +380,21 @@
    }
    /**
     * 执行 对象数据(用户,报名对象信息等) 上传
     * @param obj 对象信息
     */
    public static void objectFileUploadList(Object obj){
        String json1 = JSON.toJSONString(obj);
        String response1 = String.valueOf((new Date()).getTime());
        OutJson.createJsonFile(json1, localPath, "nl"+response1);
        FileInputStream in1 = null;
        try {
            in1 = new FileInputStream(new File(localPath + "nl"+response1+".json"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "nl"+response1+".json", in1);
        MysqlCenlint.deletess("nl"+response1+".json");
    }
}
src/main/java/org/springblade/modules/FTP/Monitor.java
@@ -93,6 +93,16 @@
                            MysqlCenlint.deletess(fileName);
                            //删除 ftp 文件
                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                        }else if(substring1.equals("ol")){
                            //用户集合数据
                            //获取对象字符串
                            String json = OutJson.TestJson(fileName);
                            //数据处理
                            DataHanlder.handlerList(json);
                            //删除本地文件
                            MysqlCenlint.deletess(fileName);
                            //删除 ftp 文件
                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                        }
                        //删除本地文件,ftp 文件没有对应读取的不删除
                        MysqlCenlint.deletess(fileName);
src/main/java/org/springblade/modules/FTP/Result.java
@@ -3,6 +3,8 @@
import lombok.Data;
import org.springblade.modules.system.entity.User;
import java.util.List;
/**
 * 响应对象
 * @author zhongrj
@@ -18,6 +20,14 @@
    private User user;
    public Result(Integer code, String msg, List<Result> data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
    private List<Result> data;
    public Result(Integer code, String msg, User user) {
        this.code = code;
        this.msg = msg;