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/DataHanlder.java |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 101 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/springblade/modules/FTP/DataHanlder.java b/src/main/java/org/springblade/modules/FTP/DataHanlder.java
index cc6ab6b..97826d7 100644
--- a/src/main/java/org/springblade/modules/FTP/DataHanlder.java
+++ b/src/main/java/org/springblade/modules/FTP/DataHanlder.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import liquibase.pro.packaged.M;
+import org.springblade.common.utils.DesensitizedUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.api.R;
 import org.springblade.modules.dispatcher.entity.Dispatcher;
@@ -46,6 +47,7 @@
 	@Autowired
 	private IDeptService iDeptService;
 
+
 	/**
 	 * 初始化
 	 */
@@ -60,6 +62,89 @@
 		hanlder.iDeptService = this.iDeptService;
 	}
 
+
+	/**
+	 * 数据处理(集合)
+	 * @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);
+		}
+	}
 
 	/**
 	 * 数据处理
@@ -77,15 +162,21 @@
 			String uuid = user1.getReasonForLeav();
 			//用户数据校验
 			Result result = userCheckOut(user1);
-			System.out.println("result = " + result);
 			//创建返回对象
 			Result result1 = new Result();
 			if (result.getCode()==200){
 				user1.setReasonForLeav("");
 				//校验保安员证编号
 				Result result2 = hanlder.checkSecurityNumber(user1);
+				User user2 = result2.getUser();
 				//去新增
-				hanlder.userService.save(result2.getUser());
+				boolean save = hanlder.userService.save(user2);
+				if (save){
+					//异步新增从业记录
+					hanlder.myAsyncService.insertExperience(user2);
+					//异步审查
+					hanlder.myAsyncService.checkUserExamineByCardNo(user2);
+				}
 
 				if (result2.getCode()==200){
 					//设置返回结果
@@ -238,14 +329,17 @@
 			//新增
 			experienceService.save(experience);
 
+			// 身份证号脱敏
+			String cardid = DesensitizedUtil.desensitizedIdNumberBy4(user.getCardid());
+
 			//内网同步
 			String s = "insert into sys_experience(id,name,entryTime,departureTime,leaving,cardId,companyname,securityId) " +
-				"values(" + "'" + experience.getId() + "'" + "," +
-				"'" + experience.getName() + "'" + "," +
+				"values(" + "'" + experience.getId() + "'" +
+				"," + "'" + experience.getName() + "'" +
 				"," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
 				"," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getDeparturetime()) + "'" +
 				"," + "'" + experience.getLeaving() + "'" +
-				"," + "'" + experience.getCardid() + "'" +
+				"," + "'" + cardid + "'" +
 				"," + "'" + experience.getCompanyname() + "'" +
 				"," + "'" + experience.getSecurityid() + "'"
 				+ ")";
@@ -281,6 +375,8 @@
 				states = false;
 				user.setHold("2");
 			}
+		}else {
+			states = true;
 		}
 
 		if (!states) {

--
Gitblit v1.9.3