From ad2e1ca53b3957017f9c6428ce2bf49bfa7ac169 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 07 Jun 2022 14:30:31 +0800
Subject: [PATCH] 保安员新增逻辑修改,保安员内网已新增,外网么有的时候,如果是更新的状态,则查询外网是否存在该用户,如果不存在则新增,存在则更新

---
 src/main/java/org/springblade/modules/FTP/DataHandler.java |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 108 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/springblade/modules/FTP/DataHandler.java b/src/main/java/org/springblade/modules/FTP/DataHandler.java
index 0259cd6..d4b107f 100644
--- a/src/main/java/org/springblade/modules/FTP/DataHandler.java
+++ b/src/main/java/org/springblade/modules/FTP/DataHandler.java
@@ -3,8 +3,10 @@
 import com.alibaba.fastjson.JSON;
 import org.springblade.common.utils.DesensitizedUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.service.MyAsyncService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
@@ -13,6 +15,7 @@
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * ftp 数据处理
@@ -31,7 +34,11 @@
 	@Autowired
 	private RedisTemplate redisTemplate;
 
-	/**
+	@Autowired
+	private MyAsyncService myAsyncService;
+
+
+    /**
 	 * 初始化
 	 */
 	@PostConstruct
@@ -39,6 +46,47 @@
 		handler = this;
 		handler.userService = this.userService;
 		handler.redisTemplate = this.redisTemplate;
+		handler.myAsyncService = this.myAsyncService;
+	}
+
+	/**
+	 * 获取保安员证编号位数
+	 * @param json
+	 * @param uuid
+	 * @return
+	 */
+	public static Result handlerSecurityNumberBit(String json, String uuid) {
+		Map map = JSON.parseObject(json, Map.class);
+		//获取结果
+		Object o = map.get(uuid);
+		if (null== o || o.equals("")){
+			return new Result(400,null,"uuid 不匹配",null);
+		}else {
+			//转换
+			Result result = JSON.parseObject(o.toString(), Result.class);
+			//返回
+			return result;
+		}
+	}
+
+	/**
+	 * 读取数据
+	 * @param json
+	 * @param uuid
+	 * @return
+	 */
+	public static Result handlerList(String json, String uuid) {
+		Map map = JSON.parseObject(json, Map.class);
+		//获取结果
+		Object o = map.get(uuid);
+		if (null== o || o.equals("")){
+			return new Result(400,null,"uuid 不匹配",null);
+		}else {
+			//转换
+			Result result = JSON.parseObject(o.toString(), Result.class);
+			//返回
+			return result;
+		}
 	}
 
 	/**
@@ -70,21 +118,42 @@
 //				boolean save = handler.userService.insert(user);
 				boolean save = handler.userService.save(user);
 				if (save){
+					//异步同步到群防群控
+					handler.myAsyncService.qfqkUserSave(user);
+					//返回
 					return new Result(200,null,"新增成功",null);
 				}else {
-					return new Result(400,null,"新增失败",null);
+					return new Result(205,null,"新增失败",null);
 				}
 			}else if (result.getCode()==201) {
 				//修改
 				//用户数处理
 				User user = handlerUserInfo(uuid);
 				user.setId(result.getUserId());
-				//数据修改
-				boolean b = handler.userService.updateById(user);
-				if (b) {
-					return new Result(200, null, "修改成功", null);
-				} else {
-					return new Result(400, null, "修改失败", null);
+				//先查询当前库是否有改用户?
+				User user1 = handler.userService.getById(result.getUserId());
+				if (null!=user1) {
+					//数据修改
+					boolean b = handler.userService.updateById(user);
+					if (b) {
+						//异步同步到群防群控
+						handler.myAsyncService.updateUserByQfqk(user);
+						//返回
+						return new Result(200, null, "修改成功", null);
+					} else {
+						return new Result(205, null, "修改失败", null);
+					}
+				}else {
+					//新增
+					boolean save = handler.userService.save(user);
+					if (save){
+						//异步同步到群防群控
+						handler.myAsyncService.qfqkUserSave(user);
+						//返回
+						return new Result(200,null,"新增成功",null);
+					}else {
+						return new Result(205,null,"新增失败",null);
+					}
 				}
 			}else if (result.getCode()==203){
 				//新增
@@ -93,15 +162,38 @@
 				user.setId(result.getUserId());
 				//插入数据库
 				boolean save = handler.userService.save(user);
+				if (save) {
+					//异步同步到群防群控
+					handler.myAsyncService.qfqkUserSave(user);
+				}
 				//失败,返回保安员证编号校验失败消息
 				return new Result(203,null,result.getMsg(),null);
 			}else if (result.getCode()==204){
-				//修改
+				//先查询当前库是否有改用户?
+				User user1 = handler.userService.getById(result.getUserId());
 				//用户数处理
 				User user = handlerUserInfo(uuid);
 				user.setId(result.getUserId());
-				//数据修改
-				boolean b = handler.userService.updateById(user);
+				if (null!=user1) {
+					//修改
+					//数据修改
+					boolean b = handler.userService.updateById(user);
+					if (b){
+						//异步同步到群防群控
+						handler.myAsyncService.updateUserByQfqk(user);
+					}
+				}else {
+					//新增
+					boolean save = handler.userService.save(user);
+					if (save){
+						//异步同步到群防群控
+						handler.myAsyncService.qfqkUserSave(user);
+						//返回
+						return new Result(200,null,"新增成功",null);
+					}else {
+						return new Result(205,null,"新增失败",null);
+					}
+				}
 				//失败,返回保安员证编号校验失败消息
 				return new Result(202,null,result.getMsg(),null);
 			}else {
@@ -124,8 +216,9 @@
 		//取出后将 redis 删除
 		handler.redisTemplate.delete(uuid);
 		//返回的user,需处理敏感数据
-		User user1 = user;
+		User user1 = Objects.requireNonNull(BeanUtil.copy(user,User.class));
 		//敏感数据处理
+		user1.setRealName(DesensitizedUtil.desensitizedName(user.getRealName()));
 		user1.setCardid(DesensitizedUtil.desensitizedIdNumberBy4(user.getCardid()));
 		user1.setPhone(DesensitizedUtil.desensitizedPhoneNumber(user.getPhone()));
 		user1.setRegistered(DesensitizedUtil.desensitizedAddress(user.getRegistered()));
@@ -141,6 +234,9 @@
 		user1.setNativeplace("");
 		user1.setEducation("");
 		user1.setPoliticaloutlook("");
+		user1.setMyPicture("");
+		user1.setHeight("");
+		user1.setRtime(null);
 		//返回
 		return user1;
 	}

--
Gitblit v1.9.3