package org.springblade.modules.FTP; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import liquibase.pro.packaged.M; import org.springblade.core.mp.support.Condition; 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.stereotype.Component; import javax.annotation.PostConstruct; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @Component public class DataHanlder { @Autowired private IUserService userService; //声明对象 private static DataHanlder hanlder; /** * 初始化 */ @PostConstruct public void init(){ hanlder = this; hanlder.userService = this.userService; } /** * 数据处理 * @param json */ public static void handler(String json){ //以分号分割 List list = Arrays.asList(json.split(";")); //对象转换 for (String s : list) { Map map = JSON.parseObject(s, Map.class); Object user = map.get("user"); User user1 = JSON.parseObject(user.toString(), User.class); //获取 uuid String uuid = user1.getReasonForLeav(); //用户数据校验 Result result = userCheckOut(user1); System.out.println("result = " + result); //创建返回对象 Result result1 = new Result(); if (result.getCode()==200){ user1.setReasonForLeav(""); //去新增 hanlder.userService.save(user1); //设置返回结果 result1.setCode(200); result1.setUserId(user1.getId()); result1.setMsg("新增成功"); }else if (result.getCode()==201){ //去修改 user1.setReasonForLeav(""); User data = result.getUser(); user1.setId(data.getId()); hanlder.userService.updateById(user1); //设置返回结果 result1.setCode(201); result1.setUserId(user1.getId()); result1.setMsg("修改成功"); }else { //不新增,不修改 //设置返回结果 result1.setCode(400); result1.setUserId(null); result1.setMsg(result.getMsg()); } System.out.println("result1 = " + result1); Map map1 = new HashMap<>(1); map1.put(uuid,result1); //向外网发送数据 FtpUtil.objectFileUpload(map1); } } /** * 用户校验 * @param user */ private static Result userCheckOut(User user) { //1. 校验是否有重复导入 User user1 = new User(); user1.setCardid(user.getCardid()); user1.setStatus(1); user1.setIsDeleted(0); User one = hanlder.userService.getOne(Condition.getQueryWrapper(user1)); if (null!=one){ //判断单位是否一致 if (!one.getDeptId().equals(user.getDeptId())){ return new Result(400,null,user.getRealName() + "已在其他单位导入"); }else { return new Result(201,"已在本单位导入",one); } } //2.保安证编号校验 return new Result(200,null,""); } }