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