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.modules.system.entity.User;
|
import org.springblade.modules.system.service.IUserService;
|
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;
|
|
/**
|
* ftp 数据处理
|
* @author zhongrj
|
* @since 2022-04-26
|
*/
|
@Component
|
public class DataHandler {
|
|
@Autowired
|
private IUserService userService;
|
|
//申明对象
|
private static DataHandler handler;
|
|
@Autowired
|
private RedisTemplate redisTemplate;
|
|
|
|
/**
|
* 初始化
|
*/
|
@PostConstruct
|
public void init(){
|
handler = this;
|
handler.userService = this.userService;
|
handler.redisTemplate = this.redisTemplate;
|
}
|
|
/**
|
* 读取数据
|
* @param json
|
* @param uuid
|
* @return
|
*/
|
public static Result handlerList(String json, String uuid) {
|
Map map = JSON.parseObject(json, Map.class);
|
System.out.println("map = " + map);
|
//获取结果
|
Object o = map.get(uuid);
|
System.out.println("o = " + o);
|
if (null== o || o.equals("")){
|
return new Result(400,null,"uuid 不匹配",null);
|
}else {
|
//转换
|
Result result = JSON.parseObject(o.toString(), Result.class);
|
System.out.println("result = " + result);
|
return result;
|
}
|
}
|
|
/**
|
* 数据处理
|
* @param json json 字符串
|
* @param uuid 随机字符串
|
* @return
|
*/
|
public static Result handler(String json, String uuid){
|
//读取数据
|
List<String> list = Arrays.asList(json.split(";"));
|
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){
|
return new Result(200,null,"新增成功",null);
|
}else {
|
return new Result(400,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);
|
}
|
}else if (result.getCode()==203){
|
//新增
|
//用户数处理
|
User user = handlerUserInfo(uuid);
|
user.setId(result.getUserId());
|
//插入数据库
|
boolean save = handler.userService.save(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);
|
//失败,返回保安员证编号校验失败消息
|
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 = user;
|
//敏感数据处理
|
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;
|
}
|
}
|