From f2d47fa3543738676e27c5a11b975f0d6a7fee6f Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 09 Jun 2022 17:36:40 +0800
Subject: [PATCH] 保安员新增,导入,报名修改,修改为定时响应
---
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java | 205 ++++++------
src/main/java/org/springblade/common/config/AsyncConfig.java | 2
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 414 +++++++++++++-------------
src/main/java/org/springblade/modules/quartz/task/Task.java | 230 +++++++++++++-
4 files changed, 519 insertions(+), 332 deletions(-)
diff --git a/src/main/java/org/springblade/common/config/AsyncConfig.java b/src/main/java/org/springblade/common/config/AsyncConfig.java
index 41dc362..4888a6e 100644
--- a/src/main/java/org/springblade/common/config/AsyncConfig.java
+++ b/src/main/java/org/springblade/common/config/AsyncConfig.java
@@ -25,7 +25,7 @@
//核心线程数
executor.setCorePoolSize(4);
//最大线程数
- executor.setMaxPoolSize(6);
+ executor.setMaxPoolSize(10);
//队列大小
executor.setQueueCapacity(1000);
//线程最大空闲时间
diff --git a/src/main/java/org/springblade/modules/quartz/task/Task.java b/src/main/java/org/springblade/modules/quartz/task/Task.java
index 585eccf..688a4b6 100644
--- a/src/main/java/org/springblade/modules/quartz/task/Task.java
+++ b/src/main/java/org/springblade/modules/quartz/task/Task.java
@@ -10,6 +10,7 @@
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.MyAsyncService;
+import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.service.TrainingRegistrationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
@@ -21,6 +22,7 @@
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
import static org.springblade.common.config.FtpConfig.*;
import static org.springblade.common.config.FtpConfig.ftpPath;
@@ -118,7 +120,6 @@
String fileName = files[i].getName();
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":读取到文件 = " + fileName);
if (fileName.contains("nq")) {
-// InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
//把文件下载到本地
long l = System.currentTimeMillis();
FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
@@ -277,7 +278,7 @@
}
/**
- * 读取内外推送的保安员单个新增文件
+ * 读取内外推送的保安员批量导入文件
* @return
*/
public boolean readSecurityListFile() {
@@ -289,7 +290,7 @@
ftp.setConnectTimeout(10000);
//连接
ftp.connect(ftpHost, ftpPort);
- System.out.println("ftp 连接成功!"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ System.out.println("定时任务:读取内外推送的保安员批量导入文件!"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
// 登陆
ftp.login(ftpUserNameIn, ftpPasswordIn);
// 检验登陆操作的返回码是否正确
@@ -314,29 +315,43 @@
FTPFile[] files = ftp.listFiles();
//文件个数大于10个时开始处理
- if (files.length==0 || files.length<10){
+ if (files.length==0){
ftp.logout();
return false;
}
else {
- for (int i = files.length-1; i >0 ; i--) {
+ for (int i = files.length-1; i >=0 ; i--) {
String fileName = files[i].getName();
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":读取到文件 = " + fileName);
if (fileName.contains("nl")) {
-// InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
//把文件下载到本地
long l = System.currentTimeMillis();
FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
long x = System.currentTimeMillis();
System.out.println("下载文件耗时 = " + (x-l)+" 毫秒");
- //
- String s = OutJson.TestJson(fileName);
- //sql语句
- String sql = OutJson.stringReplace(s);
- //删除本地服务器文件
+ //数据转换
+ String json = OutJson.TestJson(fileName);
+ //取出map
+ Map<String,Object> map = JSON.parseObject(json, Map.class);
+ //取出 key/uuid,取出结果
+ String uuid = null;
+ Result result = new Result();
+ for (Map.Entry entry : map.entrySet()) {
+ Object value = entry.getValue();
+ //转换
+ result = JSON.parseObject(value.toString(), Result.class);
+ }
+ if (null!=result) {
+ try {
+ userListInfoHandler(result);
+ }catch (Exception e) {
+ //异步用户处理逻辑
+ e.printStackTrace();
+ }
+ }
+ //删除本地文件
MysqlCenlint.deletess(fileName);
- //删除 ftp 服务器文件
-// ftp.dele(fileName);
+ //删除 ftp 文件
FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":成功删除ftp文件 = " + fileName);
}
@@ -358,6 +373,60 @@
}
}
return false;
+ }
+
+ /**
+ * 用户集合信息处理
+ * @param result
+ */
+ private void userListInfoHandler(Result result) {
+ //获取 result
+ List<Result> data1 = result.getData();
+ if (data1.size()>0){
+ for (Result result1 : data1) {
+ // 取出 Msg ,此 msg 存的对应的 uuid
+ String uuid = result1.getMsg();
+ // 从redis 中获取对应的用户信息,脱敏处理过
+ User user = handlerUserInfo(uuid);
+ if (result1.getCode()==200){
+ user.setId(result1.getUserId());
+ boolean save = userService.save(user);
+ if (save){
+ //数据异步同步到群防群控
+ myAsyncService.qfqkUserSave(user);
+ }
+ }
+ //更新
+ if (result1.getCode()==201){
+ //先查询当前库是否有改用户?
+ User user1 = userService.getById(result1.getUserId());
+ if (null!=user1) {
+ //存在,更新
+ user.setId(result1.getUserId());
+ user.setCreateTime(null);
+ boolean update = userService.updateById(user);
+ if (update) {
+ //数据异步同步到群防群控
+ myAsyncService.updateUserByQfqk(user);
+ }
+ }else {
+ //不存在,则新增
+ user.setId(result1.getUserId());
+ boolean save = userService.save(user);
+ if (save){
+ //数据异步同步到群防群控
+ myAsyncService.qfqkUserSave(user);
+ }
+ }
+ }
+ if (result1.getCode()==202){
+ //已在其他单位存在
+ }
+ if (result1.getCode()==203){
+ //保安证编号不匹配
+ }
+ }
+ }
}
/**
@@ -373,7 +442,7 @@
ftp.setConnectTimeout(10000);
//连接
ftp.connect(ftpHost, ftpPort);
- System.out.println("ftp 连接成功!"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ System.out.println("读取内外推送的保安员报名信息!"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
// 登陆
ftp.login(ftpUserNameIn, ftpPasswordIn);
// 检验登陆操作的返回码是否正确
@@ -398,12 +467,12 @@
FTPFile[] files = ftp.listFiles();
//文件个数大于10个时开始处理
- if (files.length==0 || files.length<10){
+ if (files.length==0){
ftp.logout();
return false;
}
else {
- for (int i = files.length-1; i >0 ; i--) {
+ for (int i = files.length-1; i >=0 ; i--) {
String fileName = files[i].getName();
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":读取到文件 = " + fileName);
if (fileName.contains("nt")) {
@@ -412,14 +481,25 @@
FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
long x = System.currentTimeMillis();
System.out.println("下载文件耗时 = " + (x-l)+" 毫秒");
- //
- String s = OutJson.TestJson(fileName);
- //sql语句
- String sql = OutJson.stringReplace(s);
- //删除本地服务器文件
+ //数据转换
+ String json = OutJson.TestJson(fileName);
+ //取出map
+ Map<String,Object> map = JSON.parseObject(json, Map.class);
+ //取出 key/uuid,取出结果
+ String uuid = null;
+ Result result = new Result();
+ for (Map.Entry entry : map.entrySet()) {
+ uuid = entry.getKey().toString();
+ Object value = entry.getValue();
+ //转换
+ result = JSON.parseObject(value.toString(), Result.class);
+ }
+ if (null!=result) {
+ applyHandler(uuid,result);
+ }
+ //删除本地文件
MysqlCenlint.deletess(fileName);
- //删除 ftp 服务器文件
-// ftp.dele(fileName);
+ //删除 ftp 文件
FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":成功删除ftp文件 = " + fileName);
}
@@ -444,10 +524,114 @@
}
/**
+ * 报名信息处理
+ * @param result
+ */
+ private void applyHandler(String uuid,Result result) {
+ //取出培训学校id
+ //从redis 中获取用户数据
+ String s = redisTemplate.opsForValue().get(uuid).toString();
+ if (null!=s && !s.equals("")) {
+ //创建集合,存年龄符合要求
+ List<String> ageList = new ArrayList<>();
+ //创建年龄不符合集合
+ List<String> errorList = new ArrayList<>();
+ AtomicInteger number = new AtomicInteger();
+ if (null != result) {
+ //获取 result
+ List<Result> data1 = result.getData();
+ if (data1.size() > 0) {
+ for (Result result1 : data1) {
+ // 取出 Msg ,此 msg 存的对应的 uuid
+ Long userId = result1.getUserId();
+ if (result1.getCode() == 200) {
+ //加入新增集合
+ ageList.add(userId.toString());
+ }
+ //年龄不符合要求
+ if (result1.getCode() == 201) {
+ //number ++
+ number.getAndIncrement();
+ //查询用户信息
+ User user = userService.getById(userId);
+ //加入更新集合
+ errorList.add(user.getRealName());
+ }
+ }
+ }
+ }
+
+ if (ageList.size() > 0) {
+ //遍历
+ ageList.forEach(userId -> {
+ User user = userService.getUserById(userId);
+ //未报名的新增,已报名的不做处理
+ if (null == user.getIsTrain()) {
+ TrainingRegistration trainingRegistration1 = new TrainingRegistration();
+ trainingRegistration1.setCancel(1);
+ //默认为未考试状态
+ trainingRegistration1.setIsExam(1);
+ //未提交考试审核
+ trainingRegistration1.setAuditStatus(4);
+ trainingRegistration1.setTrainingTime(new Date());
+ trainingRegistration1.setUserId(userId);
+ trainingRegistration1.setTrainingUnitId(s);
+ trainingRegistrationService.save(trainingRegistration1);
+ //修改保安报名状态
+ user.setIsTrain(1);
+ userService.updateById(user);
+
+ //数据同步
+ saveTrainingRegistration(trainingRegistration1, user);
+ } else {
+ if (user.getIsTrain() != 1) {
+ TrainingRegistration trainingRegistration1 = new TrainingRegistration();
+ trainingRegistration1.setCancel(1);
+ //默认为未考试状态
+ trainingRegistration1.setIsExam(1);
+ //未提交考试审核
+ trainingRegistration1.setAuditStatus(4);
+ trainingRegistration1.setTrainingTime(new Date());
+ trainingRegistration1.setUserId(userId);
+ trainingRegistration1.setTrainingUnitId(s);
+ trainingRegistrationService.save(trainingRegistration1);
+ //修改保安报名状态
+ user.setIsTrain(1);
+ userService.updateById(user);
+
+ //数据同步
+ saveTrainingRegistration(trainingRegistration1, user);
+ }
+ }
+ });
+ }
+ }
+ }
+
+ /**
+ * 报名
+ */
+ private void saveTrainingRegistration(TrainingRegistration trainingRegistration,User user1){
+ String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+ Long id = trainingRegistration.getId();
+ String sql = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam,audit_status) " +
+ "values(" + "'" + id + "'"
+ + "," + "'" + trainingRegistration.getTrainingUnitId() +"'"
+ + "," + "'" + formatStr +"'"
+ + "," + "'" + trainingRegistration.getCancel() + "'"
+ + "," + "'" + trainingRegistration.getUserId() + "'"
+ + "," + "'" + trainingRegistration.getIsExam() + "'"
+ + "," +"'" + trainingRegistration.getAuditStatus() + "'" + ");" +
+ "update blade_user set is_train = " + user1.getIsTrain() + " " +"where id = " + "'" + user1.getId() + "'";
+ myAsyncService.FTP(sql);
+ }
+
+ /**
* 用户审查
* @return
*/
public void userExamine() {
+ System.out.println("用户审查任务----");
//查询审查状态为未审查的保安员
User user = new User();
user.setStatus(1);
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 85804a2..6d95a07 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -1373,116 +1373,116 @@
map.put(uuid, userList);
myAsyncService.FTPObjectList(map);
- int count = 0;
- //调用ftp获取返回数据
- while (true){
- try {
- Thread.sleep(4000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- //调用ftp获取返回数据
- result = Monitor.getFtpDataByUuidList(uuid);
- //如果返回true,就退处
- if (result.getCode() == 200) {
- break;
- }
- else {
- count++;
- if (count == 20) {
- break;
- }
- }
- }
+// int count = 0;
+// //调用ftp获取返回数据
+// while (true){
+// try {
+// Thread.sleep(4000);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
+// //调用ftp获取返回数据
+// result = Monitor.getFtpDataByUuidList(uuid);
+// //如果返回true,就退处
+// if (result.getCode() == 200) {
+// break;
+// }
+// else {
+// count++;
+// if (count == 20) {
+// break;
+// }
+// }
+// }
}
- if (null!=result){
- //获取 result
- List<Result> data1 = result.getData();
- if (data1.size()>0){
- for (Result result1 : data1) {
- // 取出 Msg ,此 msg 存的对应的 uuid
- String uuid = result1.getMsg();
- //从redis 中获取用户数据
- Object o1 = redisTemplate.opsForValue().get(uuid);
- User user0 = JSON.parseObject(o1.toString(), User.class);
- // 从redis 中获取对应的用户信息,脱敏处理过
- User user = handlerUserInfo(uuid);
- if (result1.getCode()==200){
- user.setId(result1.getUserId());
- boolean save = this.save(user);
- //同步用户数据到群防群控
- if (save) {
- myAsyncService.qfqkUserSave(user);
- }
- //加入新增集合
-// addList.add(user);
- }
- if (result1.getCode()==201){
- //先查询当前库是否有改用户?
- User user1 = this.getById(result1.getUserId());
- if (null!=user1) {
- //存在,更新
- user.setId(result1.getUserId());
- user.setCreateTime(null);
- boolean update = this.updateById(user);
- if (update) {
- //数据异步同步到群防群控
- myAsyncService.updateUserByQfqk(user);
- }
- }else {
- //不存在,则新增
- user.setId(result1.getUserId());
- boolean save = this.save(user);
- if (save){
- //数据异步同步到群防群控
- myAsyncService.qfqkUserSave(user);
- }
- }
- //加入更新集合
-// updateList.add(user);
- }
- if (result1.getCode()==202){
- status.set(false);
- //已在其他单位存在
- errorList.add(user0.getCardid());
- }
- if (result1.getCode()==203){
- securityInvalidStatus.set(false);
- //保安证编号不匹配
- securityInvalidList.add(user0.getCardid());
- }
- }
-// //批量插入
-// if (addList.size()>0){
-// baseMapper.batchUserList(addList);
+// if (null!=result){
+// //获取 result
+// List<Result> data1 = result.getData();
+// if (data1.size()>0){
+// for (Result result1 : data1) {
+// // 取出 Msg ,此 msg 存的对应的 uuid
+// String uuid = result1.getMsg();
+// //从redis 中获取用户数据
+// Object o1 = redisTemplate.opsForValue().get(uuid);
+// User user0 = JSON.parseObject(o1.toString(), User.class);
+// // 从redis 中获取对应的用户信息,脱敏处理过
+// User user = handlerUserInfo(uuid);
+// if (result1.getCode()==200){
+// user.setId(result1.getUserId());
+// boolean save = this.save(user);
+// //同步用户数据到群防群控
+// if (save) {
+// myAsyncService.qfqkUserSave(user);
+// }
+// //加入新增集合
+//// addList.add(user);
+// }
+// if (result1.getCode()==201){
+// //先查询当前库是否有改用户?
+// User user1 = this.getById(result1.getUserId());
+// if (null!=user1) {
+// //存在,更新
+// user.setId(result1.getUserId());
+// user.setCreateTime(null);
+// boolean update = this.updateById(user);
+// if (update) {
+// //数据异步同步到群防群控
+// myAsyncService.updateUserByQfqk(user);
+// }
+// }else {
+// //不存在,则新增
+// user.setId(result1.getUserId());
+// boolean save = this.save(user);
+// if (save){
+// //数据异步同步到群防群控
+// myAsyncService.qfqkUserSave(user);
+// }
+// }
+// //加入更新集合
+//// updateList.add(user);
+// }
+// if (result1.getCode()==202){
+// status.set(false);
+// //已在其他单位存在
+// errorList.add(user0.getCardid());
+// }
+// if (result1.getCode()==203){
+// securityInvalidStatus.set(false);
+// //保安证编号不匹配
+// securityInvalidList.add(user0.getCardid());
+// }
// }
-// //批量更新
-// if (updateList.size()>0){
-// baseMapper.batchUpdateUserList(updateList);
-// }
- }
- }
+//// //批量插入
+//// if (addList.size()>0){
+//// baseMapper.batchUserList(addList);
+//// }
+//// //批量更新
+//// if (updateList.size()>0){
+//// baseMapper.batchUpdateUserList(updateList);
+//// }
+// }
+// }
- //如果所有数据导入有一个异常
- StringBuilder errorBuilder = new StringBuilder();
- if (!status.get()){
- String errorAccount = StringUtils.join(errorList, "\\\n");
- errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
- }
- if (!agetStatus.get()){
- String errorAccount = StringUtils.join(ageErrorList, "\\\n");
- errorBuilder.append("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
- }
- if (!securityInvalidStatus.get()){
- String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
-// errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!");
- errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
- }
- //抛出异常
- if (errorBuilder.length()>0){
- throw new ServiceException(errorBuilder.toString());
- }
+// //如果所有数据导入有一个异常
+// StringBuilder errorBuilder = new StringBuilder();
+// if (!status.get()){
+// String errorAccount = StringUtils.join(errorList, "\\\n");
+// errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
+// }
+// if (!agetStatus.get()){
+// String errorAccount = StringUtils.join(ageErrorList, "\\\n");
+// errorBuilder.append("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
+// }
+// if (!securityInvalidStatus.get()){
+// String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
+//// errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!");
+// errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+// }
+// //抛出异常
+// if (errorBuilder.length()>0){
+// throw new ServiceException(errorBuilder.toString());
+// }
}
/**
@@ -1651,109 +1651,109 @@
map.put(uuid, userList);
myAsyncService.FTPObjectList(map);
- int count = 0;
- //调用ftp获取返回数据
- while (true){
- try {
- Thread.sleep(4000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- //调用ftp获取返回数据
- result = Monitor.getFtpDataByUuidList(uuid);
- //如果返回true,就退处
- if (result.getCode() == 200) {
- break;
- }
- else {
- count++;
- if (count == 20) {
- break;
- }
- }
- }
+// int count = 0;
+// //调用ftp获取返回数据
+// while (true){
+// try {
+// Thread.sleep(4000);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
+// //调用ftp获取返回数据
+// result = Monitor.getFtpDataByUuidList(uuid);
+// //如果返回true,就退处
+// if (result.getCode() == 200) {
+// break;
+// }
+// else {
+// count++;
+// if (count == 20) {
+// break;
+// }
+// }
+// }
}
- if (null!=result){
- //获取 result
- List<Result> data1 = result.getData();
- if (data1.size()>0){
- for (Result result1 : data1) {
- // 取出 Msg ,此 msg 存的对应的 uuid
- String uuid = result1.getMsg();
- //从redis 中获取用户数据
- Object o1 = redisTemplate.opsForValue().get(uuid);
- User user0 = JSON.parseObject(o1.toString(), User.class);
- // 从redis 中获取对应的用户信息,脱敏处理过
- User user = handlerUserInfo(uuid);
- if (result1.getCode()==200){
- user.setId(result1.getUserId());
- boolean save = this.save(user);
- if (save){
- //数据异步同步到群防群控
- myAsyncService.qfqkUserSave(user);
- }
- //加入新增集合
-// addList.add(user);
- }
- //更新
- if (result1.getCode()==201){
- //先查询当前库是否有改用户?
- User user1 = this.getById(result1.getUserId());
- if (null!=user1) {
- //存在,更新
- user.setId(result1.getUserId());
- user.setCreateTime(null);
- boolean update = this.updateById(user);
- if (update) {
- //数据异步同步到群防群控
- myAsyncService.updateUserByQfqk(user);
- }
- }else {
- //不存在,则新增
- user.setId(result1.getUserId());
- boolean save = this.save(user);
- if (save){
- //数据异步同步到群防群控
- myAsyncService.qfqkUserSave(user);
- }
- }
- //加入更新集合
-// updateList.add(user);
- }
- if (result1.getCode()==202){
- status.set(false);
- //已在其他单位存在
- errorList.add(user0.getCardid());
- }
- if (result1.getCode()==203){
- securityInvalidStatus.set(false);
- //保安证编号不匹配
- securityInvalidList.add(user0.getCardid());
- }
- }
- }
- }
-
- //如果所有数据导入有一个异常
- StringBuilder errorBuilder = new StringBuilder();
- if (!status.get()){
- String errorAccount = StringUtils.join(errorList, "\\\n");
- errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
- }
- if (!agetStatus.get()){
- String errorAccount = StringUtils.join(ageErrorList, "\\\n");
- errorBuilder.append("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
- }
- if (!securityInvalidStatus.get()){
- String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
- errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!");
-// errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
- }
- //抛出异常
- if (errorBuilder.length()>0){
- throw new ServiceException(errorBuilder.toString());
- }
+// if (null!=result){
+// //获取 result
+// List<Result> data1 = result.getData();
+// if (data1.size()>0){
+// for (Result result1 : data1) {
+// // 取出 Msg ,此 msg 存的对应的 uuid
+// String uuid = result1.getMsg();
+// //从redis 中获取用户数据
+// Object o1 = redisTemplate.opsForValue().get(uuid);
+// User user0 = JSON.parseObject(o1.toString(), User.class);
+// // 从redis 中获取对应的用户信息,脱敏处理过
+// User user = handlerUserInfo(uuid);
+// if (result1.getCode()==200){
+// user.setId(result1.getUserId());
+// boolean save = this.save(user);
+// if (save){
+// //数据异步同步到群防群控
+// myAsyncService.qfqkUserSave(user);
+// }
+// //加入新增集合
+//// addList.add(user);
+// }
+// //更新
+// if (result1.getCode()==201){
+// //先查询当前库是否有改用户?
+// User user1 = this.getById(result1.getUserId());
+// if (null!=user1) {
+// //存在,更新
+// user.setId(result1.getUserId());
+// user.setCreateTime(null);
+// boolean update = this.updateById(user);
+// if (update) {
+// //数据异步同步到群防群控
+// myAsyncService.updateUserByQfqk(user);
+// }
+// }else {
+// //不存在,则新增
+// user.setId(result1.getUserId());
+// boolean save = this.save(user);
+// if (save){
+// //数据异步同步到群防群控
+// myAsyncService.qfqkUserSave(user);
+// }
+// }
+// //加入更新集合
+//// updateList.add(user);
+// }
+// if (result1.getCode()==202){
+// status.set(false);
+// //已在其他单位存在
+// errorList.add(user0.getCardid());
+// }
+// if (result1.getCode()==203){
+// securityInvalidStatus.set(false);
+// //保安证编号不匹配
+// securityInvalidList.add(user0.getCardid());
+// }
+// }
+// }
+// }
+//
+// //如果所有数据导入有一个异常
+// StringBuilder errorBuilder = new StringBuilder();
+// if (!status.get()){
+// String errorAccount = StringUtils.join(errorList, "\\\n");
+// errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
+// }
+// if (!agetStatus.get()){
+// String errorAccount = StringUtils.join(ageErrorList, "\\\n");
+// errorBuilder.append("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
+// }
+// if (!securityInvalidStatus.get()){
+// String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
+// errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!");
+//// errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+// }
+// //抛出异常
+// if (errorBuilder.length()>0){
+// throw new ServiceException(errorBuilder.toString());
+// }
}
diff --git a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
index 7407c06..8631159 100644
--- a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
+++ b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -319,113 +319,116 @@
//将集合推送内网,判断年龄是否符合要求,得到返回的结果,结果需包含userId,及年龄是否符合的状态
//生成随机数
String uuid = UUID.randomUUID().toString();
+ //将 学校id 存入 redis
+ redisTemplate.opsForValue().set(uuid, JSON.toJSONString(trainingRegistration.getTrainingUnitId()));
//数据推送
Map<String, Object> map = new HashMap<>(1);
map.put(uuid, list);
myAsyncService.FTPObjectListUserId(map);
- Result result = new Result();
- int count = 0;
- //调用ftp获取返回数据
- while (true){
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- //调用ftp获取返回数据
- result = Monitor.getFtpDataByUuidListTrain(uuid);
- //如果返回true,就退处
- if (result.getCode() == 200) {
- break;
- }
- else {
- count++;
- if (count == 30) {
- break;
- }
- }
- }
- //创建集合,存年龄符合要求
- List<String> ageList = new ArrayList<>();
- //创建年龄不符合集合
- List<String> errorList = new ArrayList<>();
- AtomicInteger number = new AtomicInteger();
- if (null!=result){
- //获取 result
- List<Result> data1 = result.getData();
- if (data1.size()>0){
- for (Result result1 : data1) {
- // 取出 Msg ,此 msg 存的对应的 uuid
- Long userId = result1.getUserId();
- if (result1.getCode()==200){
- //加入新增集合
- ageList.add(userId.toString());
- }
- //年龄不符合要求
- if (result1.getCode()==201){
- //number ++
- number.getAndIncrement();
- //查询用户信息
- User user = userService.getById(userId);
- //加入更新集合
- errorList.add(user.getRealName());
- }
- }
- }
- }
-
- if (ageList.size()>0) {
- //遍历
- ageList.forEach(userId -> {
- User user = userService.getUserById(userId);
- //未报名的新增,已报名的不做处理
- if (null == user.getIsTrain()) {
- TrainingRegistration trainingRegistration1 = new TrainingRegistration();
- trainingRegistration1.setCancel(1);
- //默认为未考试状态
- trainingRegistration1.setIsExam(1);
- //未提交考试审核
- trainingRegistration1.setAuditStatus(4);
- trainingRegistration1.setTrainingTime(new Date());
- trainingRegistration1.setUserId(userId);
- trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
- trainingRegistrationService.save(trainingRegistration1);
- //修改保安报名状态
- user.setIsTrain(1);
- userService.updateById(user);
-
- //数据同步
- saveTrainingRegistration(trainingRegistration1, user);
- } else {
- if (user.getIsTrain() != 1) {
- TrainingRegistration trainingRegistration1 = new TrainingRegistration();
- trainingRegistration1.setCancel(1);
- //默认为未考试状态
- trainingRegistration1.setIsExam(1);
- //未提交考试审核
- trainingRegistration1.setAuditStatus(4);
- trainingRegistration1.setTrainingTime(new Date());
- trainingRegistration1.setUserId(userId);
- trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
- trainingRegistrationService.save(trainingRegistration1);
- //修改保安报名状态
- user.setIsTrain(1);
- userService.updateById(user);
-
- //数据同步
- saveTrainingRegistration(trainingRegistration1, user);
- }
- }
- });
- }
-
- //如果存在年龄不符的,则抛出异常
- if (number.get()>0){
- String errorAccount = StringUtils.join(errorList, "\\\n");
- throw new ServiceException("保安员:[" + errorAccount + "]报名失败!年龄不符,报名年龄为[18-60]周岁!");
- }
+// Result result = new Result();
+// int count = 0;
+// //调用ftp获取返回数据
+// while (true){
+// try {
+// Thread.sleep(3000);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
+// //调用ftp获取返回数据
+// result = Monitor.getFtpDataByUuidListTrain(uuid);
+// //如果返回true,就退处
+// if (result.getCode() == 200) {
+// break;
+// }
+// else {
+// count++;
+// if (count == 30) {
+// break;
+// }
+// }
+// }
+//
+// //创建集合,存年龄符合要求
+// List<String> ageList = new ArrayList<>();
+// //创建年龄不符合集合
+// List<String> errorList = new ArrayList<>();
+// AtomicInteger number = new AtomicInteger();
+// if (null!=result){
+// //获取 result
+// List<Result> data1 = result.getData();
+// if (data1.size()>0){
+// for (Result result1 : data1) {
+// // 取出 Msg ,此 msg 存的对应的 uuid
+// Long userId = result1.getUserId();
+// if (result1.getCode()==200){
+// //加入新增集合
+// ageList.add(userId.toString());
+// }
+// //年龄不符合要求
+// if (result1.getCode()==201){
+// //number ++
+// number.getAndIncrement();
+// //查询用户信息
+// User user = userService.getById(userId);
+// //加入更新集合
+// errorList.add(user.getRealName());
+// }
+// }
+// }
+// }
+//
+// if (ageList.size()>0) {
+// //遍历
+// ageList.forEach(userId -> {
+// User user = userService.getUserById(userId);
+// //未报名的新增,已报名的不做处理
+// if (null == user.getIsTrain()) {
+// TrainingRegistration trainingRegistration1 = new TrainingRegistration();
+// trainingRegistration1.setCancel(1);
+// //默认为未考试状态
+// trainingRegistration1.setIsExam(1);
+// //未提交考试审核
+// trainingRegistration1.setAuditStatus(4);
+// trainingRegistration1.setTrainingTime(new Date());
+// trainingRegistration1.setUserId(userId);
+// trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
+// trainingRegistrationService.save(trainingRegistration1);
+// //修改保安报名状态
+// user.setIsTrain(1);
+// userService.updateById(user);
+//
+// //数据同步
+// saveTrainingRegistration(trainingRegistration1, user);
+// } else {
+// if (user.getIsTrain() != 1) {
+// TrainingRegistration trainingRegistration1 = new TrainingRegistration();
+// trainingRegistration1.setCancel(1);
+// //默认为未考试状态
+// trainingRegistration1.setIsExam(1);
+// //未提交考试审核
+// trainingRegistration1.setAuditStatus(4);
+// trainingRegistration1.setTrainingTime(new Date());
+// trainingRegistration1.setUserId(userId);
+// trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
+// trainingRegistrationService.save(trainingRegistration1);
+// //修改保安报名状态
+// user.setIsTrain(1);
+// userService.updateById(user);
+//
+// //数据同步
+// saveTrainingRegistration(trainingRegistration1, user);
+// }
+// }
+// });
+// }
+//
+// //如果存在年龄不符的,则抛出异常
+// if (number.get()>0){
+// String errorAccount = StringUtils.join(errorList, "\\\n");
+// throw new ServiceException("保安员:[" + errorAccount + "]报名失败!年龄不符,报名年龄为[18-60]周岁!");
+// }
return R.data(200,"报名成功");
}
--
Gitblit v1.9.3