From 68656aa409a46995c9949c580cc3ed150755b2bc Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 08 Jun 2022 20:41:56 +0800
Subject: [PATCH] ftp 个人保安新增修改
---
src/main/java/org/springblade/modules/system/controller/UserController.java | 122 ++++++++++++++++++++++++++++++++++------
1 files changed, 103 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 08693e7..114c63e 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -33,6 +33,7 @@
import lombok.AllArgsConstructor;
import net.sf.json.JSONObject;
import org.apache.commons.codec.Charsets;
+import org.apache.commons.lang3.StringUtils;
import org.springblade.common.cache.DictCache;
import org.springblade.common.config.FtpConfig;
import org.springblade.common.enums.DictEnum;
@@ -107,11 +108,13 @@
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import static org.springblade.common.config.FtpConfig.*;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
+import static org.springblade.modules.FTP.DataHandler.handlerUserInfo;
/**
* 控制器
@@ -1629,16 +1632,6 @@
result = Monitor.isFTPFileExist(uuid);
//如果返回true,就退处
if (result.getCode()==200){
- flag = 1;
- break;
- }else if (result.getCode()==201){
- flag = 2;
- break;
- }else if (result.getCode()==202){
- flag = 3;
- break;
- }else if (result.getCode()==203){
- flag = 4;
break;
}else{
//计数
@@ -1649,18 +1642,109 @@
}
}
}
- if (flag==1 || flag==2) {
- //返回
- return R.data(200, null, "新增成功!");
- }else if (flag==3){
- throw new ServiceException(result.getMsg());
- }else if (flag==4){
+
+ //将不能导入的保安员账号存起来
+ List<String> errorList = new ArrayList<>();
+ //保安员证编号不符的保安员信息存入集合
+ List<String> securityInvalidList = new ArrayList<>();
+ //导入状态,默认为true ,如果有一个出现问题则为 false
+ AtomicBoolean status = new AtomicBoolean(true);
+ AtomicBoolean securityInvalidStatus = new AtomicBoolean(true);
+ if (null!=result){
+ //用户数处理
+ User users = handlerUserInfo(uuid);
+ //判断结果
+ if (result.getCode()==200){
+ //新增
+ users.setId(result.getUserId());
+ users.setStatus(1);
+ //插入数据库
+ boolean save = userService.save(users);
+ if (save){
+ //异步同步到群防群控
+ myAsyncService.qfqkUserSave(users);
+ }
+ }else if (result.getCode()==201) {
+ //修改
+ users.setId(result.getUserId());
+ //先查询当前库是否有改用户?
+ User user2 = userService.getById(result.getUserId());
+ if (null!=user2) {
+ //数据修改
+ boolean b = userService.updateById(users);
+ if (b) {
+ //异步同步到群防群控
+ myAsyncService.updateUserByQfqk(user);
+ }
+ }else {
+ //新增
+ boolean save = userService.save(users);
+ if (save){
+ //异步同步到群防群控
+ myAsyncService.qfqkUserSave(users);
+ }
+ }
+ }else if (result.getCode()==203){
+ //保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请! 用户为新增
+ //新增
+ users.setId(result.getUserId());
+ //插入数据库
+ boolean save = userService.save(users);
+ if (save) {
+ //异步同步到群防群控
+ myAsyncService.qfqkUserSave(users);
+ }
+ securityInvalidStatus.set(false);
+ //保安证编号不匹配
+ securityInvalidList.add(user.getCardid());
+ }else if (result.getCode()==204){
+ //保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请! 内网用户已存在情况
+ users.setId(result.getUserId());
+ //先查询当前库是否有改用户?
+ User user2 = userService.getById(result.getUserId());
+ //判断
+ if (null!=user2) {
+ //修改
+ //数据修改
+ boolean b = userService.updateById(users);
+ if (b){
+ //异步同步到群防群控
+ myAsyncService.updateUserByQfqk(users);
+ }
+ }else {
+ //新增
+ boolean save = userService.save(users);
+ if (save){
+ //异步同步到群防群控
+ myAsyncService.qfqkUserSave(users);
+ }
+ }
+ securityInvalidStatus.set(false);
+ //保安证编号不匹配
+ securityInvalidList.add(user.getCardid());
+ }else {
+ status.set(false);
+ //已在其他单位存在
+ errorList.add(user.getCardid());
+ }
+ }
+
+ //如果所有数据导入有一个异常
+ StringBuilder errorBuilder = new StringBuilder();
+ if (!status.get()){
+ String errorAccount = StringUtils.join(errorList, "\\\n");
+ errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
+ }
+ //抛出异常
+ if (errorBuilder.length()>0){
+ throw new org.springblade.core.log.exception.ServiceException(errorBuilder.toString());
+ }
+
+ if (!securityInvalidStatus.get()){
// return R.data(201, null, "保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
return R.data(201, null, "保安证编号不匹配,请核实!");
- }else{
- //返回
- return R.data(400, null, "新增失败!");
}
+ return R.data(200, null, "新增成功!");
}
/**
--
Gitblit v1.9.3