From df054296327ebca617a9c19bb01139b9c40bf232 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 07 Jun 2022 11:25:44 +0800
Subject: [PATCH] 培训报名,保安员头像导入新增修改

---
 src/main/java/org/springblade/modules/FTP/DataHandler.java |  177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 171 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/springblade/modules/FTP/DataHandler.java b/src/main/java/org/springblade/modules/FTP/DataHandler.java
index 5e3fe12..c49ba46 100644
--- a/src/main/java/org/springblade/modules/FTP/DataHandler.java
+++ b/src/main/java/org/springblade/modules/FTP/DataHandler.java
@@ -1,13 +1,21 @@
 package org.springblade.modules.FTP;
 
+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;
 
 import javax.annotation.PostConstruct;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 /**
  * ftp 数据处理
@@ -23,13 +31,62 @@
 	//申明对象
 	private static DataHandler handler;
 
-	/**
+	@Autowired
+	private RedisTemplate redisTemplate;
+
+	@Autowired
+	private MyAsyncService myAsyncService;
+
+
+    /**
 	 * 初始化
 	 */
 	@PostConstruct
 	public void init(){
 		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;
+		}
 	}
 
 	/**
@@ -38,12 +95,120 @@
 	 * @param uuid 随机字符串
 	 * @return
 	 */
-	public static R handler(String json, String uuid){
+	public static Result handler(String json, String uuid){
 		//读取数据
 		List<String> list = Arrays.asList(json.split(";"));
-		list.forEach(s -> {
-			System.out.println("s = " + s);
-		});
-		return R.data(400,null,"未能找到对应数据");
+		for (String s : list) {
+			Map map = JSON.parseObject(s, Map.class);
+			//获取结果
+			Object o = map.get(uuid);
+			if (null== o || o.equals("")){
+				return new Result(400,null,"uuid 不匹配",null);
+			}
+			//转换
+			Result result = JSON.parseObject(o.toString(), Result.class);
+			//判断结果
+			if (result.getCode()==200){
+				//新增
+				//用户数处理
+				User user = handlerUserInfo(uuid);
+				user.setId(result.getUserId());
+				user.setStatus(1);
+				//插入数据库
+//				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(205,null,"新增失败",null);
+				}
+			}else if (result.getCode()==201) {
+				//修改
+				//用户数处理
+				User user = handlerUserInfo(uuid);
+				user.setId(result.getUserId());
+				//数据修改
+				boolean b = handler.userService.updateById(user);
+				System.out.println("修改状态 = " + b);
+				if (b) {
+					//异步同步到群防群控
+					handler.myAsyncService.updateUserByQfqk(user);
+					//返回
+					return new Result(200, null, "修改成功", null);
+				} else {
+					return new Result(205, null, "修改失败", null);
+				}
+			}else if (result.getCode()==203){
+				//新增
+				//用户数处理
+				User user = handlerUserInfo(uuid);
+				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 user = handlerUserInfo(uuid);
+				user.setId(result.getUserId());
+				//数据修改
+				boolean b = handler.userService.updateById(user);
+				if (b){
+					//异步同步到群防群控
+					handler.myAsyncService.updateUserByQfqk(user);
+				}
+				//失败,返回保安员证编号校验失败消息
+				return new Result(202,null,result.getMsg(),null);
+			}else {
+				//失败,返回失败消息
+				return new Result(202,null,result.getMsg(),null);
+			}
+		}
+		return new Result(400,null,"未能找到对应数据",null);
+	}
+
+	/**
+	 * 用户数据获取和处理
+	 * @param uuid 随机参数
+	 * @return
+	 */
+	public static User handlerUserInfo(String uuid){
+		//从redis 中获取用户数据
+		Object o1 = handler.redisTemplate.opsForValue().get(uuid);
+		User user = JSON.parseObject(o1.toString(), User.class);
+		//取出后将 redis 删除
+		handler.redisTemplate.delete(uuid);
+		//返回的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()));
+		if (user.getHold().equals("1")) {
+			user1.setSecuritynumber(DesensitizedUtil.desensitizedSecurityNumber(user.getSecuritynumber()));
+		}else {
+			user1.setSecuritynumber("");
+		}
+		user1.setAvatar("");
+		user1.setEmail("");
+		user1.setFingerprint("");
+		user1.setNation("");
+		user1.setNativeplace("");
+		user1.setEducation("");
+		user1.setPoliticaloutlook("");
+		user1.setMyPicture("");
+		user1.setHeight("");
+		user1.setRtime(null);
+		//返回
+		return user1;
 	}
 }

--
Gitblit v1.9.3