From 2f3462ccabb710c89a656e34f81b64785ff0dfe2 Mon Sep 17 00:00:00 2001
From: 钟日健 <5689795+arsn@user.noreply.gitee.com>
Date: Thu, 28 Apr 2022 11:57:53 +0800
Subject: [PATCH] 保安员批量导入ftp 配置修改
---
src/main/java/org/springblade/modules/FTP/FtpUtil.java | 20 ++++++
src/main/java/org/springblade/modules/FTP/Result.java | 10 +++
src/main/java/org/springblade/common/utils/DesensitizedUtil.java | 2
src/main/java/org/springblade/modules/FTP/DataHanlder.java | 84 ++++++++++++++++++++++++++++
src/main/java/org/springblade/modules/FTP/Monitor.java | 10 +++
5 files changed, 124 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/springblade/common/utils/DesensitizedUtil.java b/src/main/java/org/springblade/common/utils/DesensitizedUtil.java
index 1eb595d..a750bba 100644
--- a/src/main/java/org/springblade/common/utils/DesensitizedUtil.java
+++ b/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);
}
diff --git a/src/main/java/org/springblade/modules/FTP/DataHanlder.java b/src/main/java/org/springblade/modules/FTP/DataHanlder.java
index f5cf8da..97826d7 100644
--- a/src/main/java/org/springblade/modules/FTP/DataHanlder.java
+++ b/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
*/
diff --git a/src/main/java/org/springblade/modules/FTP/FtpUtil.java b/src/main/java/org/springblade/modules/FTP/FtpUtil.java
index 52b8bbe..18c6cef 100644
--- a/src/main/java/org/springblade/modules/FTP/FtpUtil.java
+++ b/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");
+ }
}
diff --git a/src/main/java/org/springblade/modules/FTP/Monitor.java b/src/main/java/org/springblade/modules/FTP/Monitor.java
index 1ce263e..4f48894 100644
--- a/src/main/java/org/springblade/modules/FTP/Monitor.java
+++ b/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);
diff --git a/src/main/java/org/springblade/modules/FTP/Result.java b/src/main/java/org/springblade/modules/FTP/Result.java
index 343bd89..1cbb095 100644
--- a/src/main/java/org/springblade/modules/FTP/Result.java
+++ b/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;
--
Gitblit v1.9.3