钟日健
2022-04-29 96979a8c27d057497783669df30e549aa6f2fce5
新增培训报名内网年龄校验
11 files modified
151 ■■■■■ changed files
src/main/java/org/springblade/modules/FTP/DataHanlder.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/FtpUtil.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/Monitor.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/MyAsyncService.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/MysqlCenlint.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/Result.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IUserService.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/DataHanlder.java
@@ -48,6 +48,8 @@
    private IDeptService iDeptService;
    /**
     * 初始化
     */
@@ -62,6 +64,43 @@
        hanlder.iDeptService = this.iDeptService;
    }
    /**
     * 培训报名数据处理
     * @param json
     */
    public static void handlerListTrain(String json) {
        Map map = JSON.parseObject(json, Map.class);
        //取出 key(uuid)
        String key = map.keySet().toArray()[0].toString();
        Object users = map.get(key);
        List<String > userList = JSON.parseArray(users.toString(), String.class);
        //遍历
        if (userList.size()>0) {
            List<Result> resultList = new ArrayList<>();
            //开始遍历
            for (String userId : userList) {
                //校验用户年龄
                int age = hanlder.userService.getUserAge(Long.parseLong(userId));
                //创建返回对象
                Result result1 = new Result();
                result1.setUserId(Long.parseLong(userId));
                if (age>=18 && age<=60) {
                    //年龄符合要求
                    result1.setCode(200);
                } else {
                    //年龄不符合要求
                    result1.setCode(201);
                }
                //存入结果集
                resultList.add(result1);
            }
            Result result = new Result(200, "", resultList);
            Map<String, Object> map1 = new HashMap<>(1);
            map1.put(key, result);
            //向外网发送数据
            FtpUtil.objectFileUploadListTrain(map1);
        }
    }
    /**
     * 数据处理(集合)
@@ -143,6 +182,7 @@
            Result result = new Result(200, "", resultList);
            Map<String, Object> map1 = new HashMap<>(1);
            map1.put(key, result);
            System.out.println("map1 = " + map1);
            //向外网发送数据
            FtpUtil.objectFileUploadList(map1);
        }
src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -397,4 +397,22 @@
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "nl"+response1+".json", in1);
        MysqlCenlint.deletess("nl"+response1+".json");
    }
    /**
     * 返回报名信息结果
     * @param obj
     */
    public static void objectFileUploadListTrain(Object obj){
        String json1 = JSON.toJSONString(obj);
        String response1 = String.valueOf((new Date()).getTime());
        OutJson.createJsonFile(json1, localPath, "nt"+response1);
        FileInputStream in1 = null;
        try {
            in1 = new FileInputStream(new File(localPath + "nt"+response1+".json"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "nt"+response1+".json", in1);
        MysqlCenlint.deletess("nt"+response1+".json");
    }
}
src/main/java/org/springblade/modules/FTP/Monitor.java
@@ -103,7 +103,27 @@
                            MysqlCenlint.deletess(fileName);
                            //删除 ftp 文件
                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                        }else if(substring1.equals("t")){
                            //培训报名数据
                            //获取对象字符串
                            String json = OutJson.TestJson(fileName);
                            //数据处理
                            DataHanlder.handlerListTrain(json);
                            //删除本地文件
                            MysqlCenlint.deletess(fileName);
                            //删除 ftp 文件
                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                        }
                        else if(substring1.equals("f")){
                            //把文件下载到本地(图片文件类),测试内外网使用同一台服务器
                            FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, minioPath, fileName);
                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                        }
//                        else {
//                            //把文件下载到本地(图片文件类),ftp 内外网服务器分开时使用
//                            FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, minioPath, fileName);
//                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
//                        }
                        //删除本地文件,ftp 文件没有对应读取的不删除
                        MysqlCenlint.deletess(fileName);
                        is.close();
src/main/java/org/springblade/modules/FTP/MyAsyncService.java
@@ -42,6 +42,37 @@
        FtpUtil.sqlFileUpload(s);
    }
    /**
     * FTP 审查结果推送
     * @param s sql语句
     */
    @Async
    public void FTP1(String s) {
        //为防止外网尚未更新完成,休眠2秒发送第一次
        try {
            Thread.sleep(2);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        FtpUtil.sqlFileUpload(s);
        FTP2(s);
    }
    /**
     * FTP 审查结果推送
     * @param s sql语句
     */
    @Async
    public void FTP2(String s) {
        //休眠30s,再次发送一次
        try {
            Thread.sleep(30);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        FtpUtil.sqlFileUpload(s);
    }
    /**
     * 异步审查新增的保安员
@@ -112,7 +143,7 @@
            String s1 = "update blade_user set examination_type = " + user.getExaminationType() +
                ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" +
                " where id = " + "'" + user.getId() + "'";
            FTP(s1);
            FTP1(s1);
        }
    }
src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
@@ -52,7 +52,7 @@
            Class.forName ( driver );
            conn = DriverManager.getConnection ( url, user, password );
            if (!conn.isClosed ()) {
                System.out.println ( "数据库连接成功:" );
//                System.out.println ( "数据库连接成功:" );
                String sqls = sql;
                ps = conn.prepareStatement ( sqls );
                //判断是否为修改,删除
src/main/java/org/springblade/modules/FTP/Result.java
@@ -20,14 +20,6 @@
    private User user;
    private Result result;
    public Result(Integer code, String msg, Result result) {
        this.code = code;
        this.msg = msg;
        this.result = result;
    }
    public Result(Integer code, String msg, List<Result> data) {
        this.code = code;
        this.msg = msg;
src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -121,4 +121,11 @@
     */
    @SqlParser(filter = true)
    List<String> getDeptName(@Param("deptId") String deptId);
    /**
     * 查询用户年龄
     * @param id
     * @return
     */
    int getUserAge(@Param("id") long id);
}
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -546,4 +546,9 @@
            select dept_name from blade_dept where id =  (select parent_id from blade_dept where id= #{deptId} and 1=1)
        )
    </select>
    <!--查询用户年龄-->
    <select id="getUserAge" resultType="java.lang.Integer">
        select ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(cardid, 7, 8), CURDATE()),0) AS age from blade_user where id = #{id}
    </select>
</mapper>
src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -254,4 +254,10 @@
     */
    List selectPeo(UserVO user);
    /**
     * 查询用户年龄
     * @param id
     * @return
     */
    int getUserAge(long id);
}
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -511,5 +511,13 @@
        return baseMapper.selectPeo(user);
    }
    /**
     * 查询用户年龄
     * @param id
     * @return
     */
    @Override
    public int getUserAge(long id) {
        return baseMapper.getUserAge(id);
    }
}
src/main/resources/application-test.yml
@@ -29,7 +29,7 @@
  ftpPassword: 123456
  ftpPath: anbao/
  localPath: E:\anbao\
  minioPath: D:\ftptp\
  minioPath: E:\ftptp\
  jsonUrl: E:\anbao\
  sqlUsername: zhbaw
  sqlPassword: Zhba@0426