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 数据处理 * @author zhongrj * @since 2022-04-26 */ @Component public class DataHandler { @Autowired private IUserService userService; //申明对象 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; } } /** * 数据处理 * @param json json 字符串 * @param uuid 随机字符串 * @return */ public static Result handler(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 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; } }