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/exam/service/impl/ExamPaperServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 46 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
index 7bd3708..ef9ce98 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import liquibase.pro.packaged.L;
import org.springblade.common.utils.TimeSwitchUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.modules.apply.entity.Apply;
@@ -27,6 +28,8 @@
import org.springblade.modules.exam.vo.*;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.service.TrainingRegistrationService;
+import org.springblade.modules.vip.entity.VipTopic;
+import org.springblade.modules.vip.service.VipTopicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -43,7 +46,7 @@
public class ExamPaperServiceImpl extends ServiceImpl<ExamPaperMapper, ExamPaper> implements ExamPaperService {
@Autowired
- private ExamExaminationSubjectService examExaminationSubjectService;
+ private VipTopicService vipTopicService;
@Autowired
private ExamAnswerRecordService examAnswerRecordService;
@@ -53,6 +56,9 @@
@Autowired
private ExamScoreService examScoreService;
+
+ @Autowired
+ private TrainingRegistrationService trainingRegistrationService;
@@ -111,8 +117,45 @@
public List<ExamSubjectChoicesVO> queryRandomSubject(ExamPaperVO paper) {
//保存题目信息
if (null!=paper.getScoreId()){
- //随机分类信息
- List<ExamSubjectChoicesVO> examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper);
+ //查询该保安员是否为会员
+ ExamScore score = examScoreService.getById(paper.getScoreId());
+ TrainingRegistration trainingRegistration = trainingRegistrationService.getById(score.getApplyId());
+
+ List<ExamSubjectChoicesVO> examSubjectChoicesVOS = new ArrayList<>();
+ if (null!=trainingRegistration.getVipStatus()){
+ //如果是会员,从会员库里取题目
+ if (trainingRegistration.getVipStatus().equals(1)){
+ //查询该vip 用户的 vip 库,从该120题中取出题目
+ VipTopic vipTopic = new VipTopic();
+ vipTopic.setUserId(Long.parseLong(score.getUserId()));
+ vipTopic.setApplyId(score.getApplyId());
+ VipTopic topic = vipTopicService.getOne(Condition.getQueryWrapper(vipTopic));
+ if (null!=topic){
+ List<String> list = Arrays.asList(topic.getTopicIds().split(","));
+// System.out.println("list.size() = " + list.size());
+ List<String> radio = list.subList(0, 49);
+ List<String> checkbox = list.subList(50, 69);
+ List<String> judge = list.subList(70, 109);
+ List<String> sort = list.subList(110, 119);
+ //随机题目
+ List<ExamSubjectChoicesVO> radioRandomSubjectList = baseMapper.queryRandomSubjectList(radio,25);
+ List<ExamSubjectChoicesVO> checkboxRandomSubjectList = baseMapper.queryRandomSubjectList(checkbox,10);
+ List<ExamSubjectChoicesVO> judgeRandomSubjectList = baseMapper.queryRandomSubjectList(judge,20);
+ List<ExamSubjectChoicesVO> sortRandomSubjectList = baseMapper.queryRandomSubjectList(sort,5);
+ //合并集合数据
+ examSubjectChoicesVOS.addAll(radioRandomSubjectList);
+ examSubjectChoicesVOS.addAll(checkboxRandomSubjectList);
+ examSubjectChoicesVOS.addAll(judgeRandomSubjectList);
+ examSubjectChoicesVOS.addAll(sortRandomSubjectList);
+ }
+ }else {
+ //随机分类信息
+ examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper);
+ }
+ }else {
+ //随机分类信息
+ examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper);
+ }
// long before = System.currentTimeMillis();
List<ExamExaminationSubject> list = new ArrayList<>();
examSubjectChoicesVOS.forEach(examSubjectChoicesVO -> {
--
Gitblit v1.9.3