From 045b55722b25ccc77d88671c5d6df309edb8a66d Mon Sep 17 00:00:00 2001
From: 钟日健 <5689795+arsn@user.noreply.gitee.com>
Date: Tue, 22 Feb 2022 16:00:34 +0800
Subject: [PATCH] 1. 保安员新增异步推送数据至群访用户表 2. 会员标记接口新增,会员标记成功,则创建会员记录和会员题库记录(包含120道题目) 3. web 端考试开始,查询题目判断用户是否为会员,如果为会员则从会员题库获取当前人员的考试题目(从120道题中随机抽取60道)

---
 src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java |   56 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 42 insertions(+), 14 deletions(-)

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 599e01a..86a8c07 100644
--- a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
+++ b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -25,11 +25,15 @@
 import org.springblade.modules.exam.service.ExamPaperService;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.vo.UserVO;
 import org.springblade.modules.training.entity.TrainingRegistration;
 import org.springblade.modules.training.excel.TrainingRegistrationExcel;
 import org.springblade.modules.training.excel.TrainingRegistrationImporter;
 import org.springblade.modules.training.service.TrainingRegistrationService;
 import org.springblade.modules.training.vo.TrainingRegistrationVo;
+import org.springblade.modules.vip.service.UserVipService;
+import org.springblade.modules.vip.service.VipTopicService;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -54,6 +58,10 @@
 	private final IUserService userService;
 
 	private final ExamPaperService examPaperService;
+
+	private final UserVipService userVipService;
+
+	private final VipTopicService vipTopicService;
 
 	/**
 	 * 自定义分页
@@ -139,7 +147,7 @@
 			+ "," + "'" + trainingRegistration.getIsExam() + "'"
 			+ "," +"'" + trainingRegistration.getAuditStatus() + "'" + ");" +
 			"update blade_user set is_train = " + user1.getIsTrain() + " " +"where id = " + "'" + user1.getId() + "'";
-		return FtpSyncUtil.sqlHandler(builder, sql);
+		return FtpSyncUtil.sqlHandler(builder, sql,500);
 	}
 
 	/**
@@ -196,13 +204,9 @@
 				if (status){
 					return R.data(200,"取消报名成功");
 				}
-
-
-
 			}else {
 				return R.data(201,"尚未报名");
 			}
-
 		}
 		return R.data(202,"取消报名失败");
 	}
@@ -302,13 +306,13 @@
 		AtomicInteger count  = new AtomicInteger();
 		//创建年龄部分对象集合
 		List<String> errorList = new ArrayList<>();
-		AtomicReference<StringBuilder> builder = new AtomicReference<>(new StringBuilder());
+//		AtomicReference<StringBuilder> builder = new AtomicReference<>(new StringBuilder());
 		//遍历
 		list.forEach(userId ->{
 			User user = userService.getById(userId);
+			UserVO userVO = userService.getUserAgeById(Long.parseLong(userId));
 			//判断年龄
-			Integer age = AgeUtil.idCardToAge(user.getCardid());
-			if (age>=18 && age<=60) {
+			if (userVO.getAge()>=18 && userVO.getAge()<=60) {
 				//未报名的新增,已报名的不做处理
 				if (null == user.getIsTrain()) {
 					TrainingRegistration trainingRegistration1 = new TrainingRegistration();
@@ -326,7 +330,8 @@
 					userService.updateById(user);
 
 					//数据同步
-					builder.set(batchSaveTrainingRegistration(trainingRegistration1, user, builder.get()));
+					saveTrainingRegistration(trainingRegistration1,user);
+//					builder.set(batchSaveTrainingRegistration(trainingRegistration1, user, builder.get()));
 				} else {
 					if (user.getIsTrain() != 1) {
 						TrainingRegistration trainingRegistration1 = new TrainingRegistration();
@@ -344,7 +349,8 @@
 						userService.updateById(user);
 
 						//数据同步
-						builder.set(batchSaveTrainingRegistration(trainingRegistration1, user, builder.get()));
+						saveTrainingRegistration(trainingRegistration1,user);
+//						builder.set(batchSaveTrainingRegistration(trainingRegistration1, user, builder.get()));
 					}
 				}
 			}else {
@@ -354,10 +360,10 @@
 				errorList.add(user.getCardid());
 			}
 		});
-		//同步
-		if (builder.get().length()>0) {
-			FtpSyncUtil.slqSync(builder.get());
-		}
+//		//同步
+//		if (builder.get().length()>0) {
+//			FtpSyncUtil.slqSync(builder.get());
+//		}
 		//如果存在年龄不符的,则抛出异常
 		if (count.get()>0){
 			String errorAccount = StringUtils.join(errorList, "\\\n");
@@ -715,4 +721,26 @@
 		}
 		return null;
 	}
+
+
+	/**
+	 * 是否为会员标记
+	 * @param trainingRegistration
+	 * @return
+	 */
+	@PostMapping("/vipSign")
+	@Transactional(rollbackFor = Exception.class)
+	public R vipSign(@RequestBody TrainingRegistration trainingRegistration){
+		//新增会员记录
+		userVipService.insertUserVipInfo(trainingRegistration);
+		//新增会员题库记录
+		vipTopicService.insertVipTopicInfo(trainingRegistration);
+		//内网报名信息同步
+		String s1 =
+			"update sys_training_registration set vip_status = " + "'" + trainingRegistration.getVipStatus() + "'"
+				+ " " + "where id = " + "'" + trainingRegistration.getId() + "'";
+		FtpUtil.sqlFileUpload(s1);
+		//更新并返回数据
+		return R.data(trainingRegistrationService.updateById(trainingRegistration));
+	}
 }

--
Gitblit v1.9.3