智慧保安后台管理-外网
钟日健
2022-05-30 c5f3670dfaad3dc2fa3ba62751edcfc3296c963a
新增保安员定时审查未审查的保安员任务
3 files modified
160 ■■■■■ changed files
src/main/java/org/springblade/modules/FTP/FtpUtil.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/quartz/task/Task.java 130 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/MyAsyncService.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -6,6 +6,8 @@
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import org.springblade.modules.system.entity.User;
import java.io.*;
import java.net.SocketException;
import java.util.Date;
@@ -395,4 +397,22 @@
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "s"+response1+".json", in1);
        MysqlCenlint.deletess("s"+response1+".json");
    }
    /**
     * 用户审查
     * @param user
     */
    public static void sqlFileUploadUserExamine(User user) {
        String json1 = JSON.toJSONString(user);
        String response1 = String.valueOf((new Date()).getTime());
        OutJson.createJsonFile(json1, localPath, "u"+response1);
        FileInputStream in1 = null;
        try {
            in1 = new FileInputStream(new File(localPath + "u"+response1+".json"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "u"+response1+".json", in1);
        MysqlCenlint.deletess("u"+response1+".json");
    }
}
src/main/java/org/springblade/modules/quartz/task/Task.java
@@ -1,10 +1,14 @@
package org.springblade.modules.quartz.task;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.springblade.modules.FTP.*;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springblade.modules.training.service.TrainingRegistrationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@@ -15,6 +19,7 @@
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import static org.springblade.common.config.FtpConfig.*;
import static org.springblade.common.config.FtpConfig.ftpPath;
@@ -29,6 +34,13 @@
    @Autowired
    private TrainingRegistrationService trainingRegistrationService;
    @Autowired
    private IUserService userService;
    @Autowired
    private MyAsyncService myAsyncService;
    public void testTask(){
        System.out.println("测试定时任务执行-----------------");
@@ -160,102 +172,26 @@
        return false;
    }
//    /**
//     * 读取文件(用户对象)单用户新增
//     * @return
//     */
//    public Result readFile() {
//        String uuid = "123-456";
//        //创建 ftp 对象
//        FTPClient ftp = new FTPClient();
//        boolean flag = false;
//        try {
//            //连接
//            ftp.connect(ftpHost, ftpPort);
//
//            // 登陆
//            ftp.login(ftpUserNameIn, ftpPasswordIn);
//            // 检验登陆操作的返回码是否正确
//            if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
//                ftp.disconnect();
//                return new Result(400,null,"ftp 连接失败",null);
//            }
//
//            ftp.enterLocalActiveMode();
//
//            // 设置文件类型为二进制,与ASCII有区别
//            ftp.setFileType(FTP.BINARY_FILE_TYPE);
//
//            // 设置编码格式
//            ftp.setControlEncoding("GBK");
//            // 检验文件是否存在
//            boolean ftpFile = ftp.changeWorkingDirectory(ftpPath);
//            System.out.println("检验文件是否存在 = " + ftpFile);
//
//            // Use passive mode as default
//            ftp.enterLocalPassiveMode();
//
//            FTPFile[] files = ftp.listFiles();
//            System.out.println("files = " + files);
//            System.out.println("开始读取内网回传消息");
//            if (files.length==0){
//                System.out.println("未读取到文件");
//                return new Result(400,null,"未读取到文件",null);
//            } else {
//                System.out.println("-----有读取到文件--------");
//                for (FTPFile file : files){
//                    String fileName = file.getName();
//                    System.out.println("fileName = " + fileName);
//                    InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
//                    String substring1 = fileName.substring(0, 1);
//                    System.out.println("substring1 = " + substring1);
//                    if (substring1.equals("n")){
//                        System.out.println("-------接收到内网回传的文件: " + substring1);
//                        //把文件下载到本地
//                        FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
//                        // 解析数据
//                        String s = OutJson.TestJson(fileName);
//                        //数据处理
//                        Result result = DataHandler.handler(s,uuid);
//                        //删除本地文件
//                        MysqlCenlint.deletess(fileName);
//                        FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
//                        is.close();
//                        ftp.completePendingCommand();
//                        if (result.getCode()==200) {
//                            //返回
//                            return new Result(200,null,"新增成功",null);
//                        }
//                        if (result.getCode()==201) {
//                            //返回
//                            return new Result(201,null,"修改成功",null);
//                        }
//                        if (result.getCode()==202) {
//                            //返回
//                            return new Result(202,null,result.getMsg(),null);
//                        }
//                        if (result.getCode()==203) {
//                            //返回
//                            return new Result(203,null,result.getMsg(),null);
//                        }
//                    }
//                }
//                System.out.println("未读取到对应的文件");
//                return new Result(400,null,"未读取到对应的文件",null);
//            }
//        } catch (Exception e) {
//            System.out.println("ftp连接失败");
//            e.printStackTrace();
//        } finally {
//            if (ftp != null) {
//                try {
//                    ftp.disconnect();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//        return new Result(400,null,"失败",null);
//    }
    /**
     *  用户审查
     * @return
     */
    public void userExamine() {
        //查询审查状态为未审查的保安员
        User user = new User();
        user.setStatus(1);
        user.setIsDeleted(0);
        user.setRoleId("1412226235153731586");
        //未审查
        user.setExaminationType("2");
        //查询
        List<User> users = userService.list(new QueryWrapper<>(user));
        //遍历
        if (users.size()>0){
            users.forEach(user1 -> {
                myAsyncService.userExamineFTP(user1);
            });
        }
    }
}
src/main/java/org/springblade/modules/system/service/MyAsyncService.java
@@ -127,6 +127,16 @@
    /**
     * 用户审查FTP
     * @param user
     */
    @Async
    public void userExamineFTP(User user) {
        FtpUtil.sqlFileUploadUserExamine(user);
    }
    /**
     * test
     * @param user
     */