From 11cdd80252d41f57f72722adb2814ab3a2660e3b Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 04 Jan 2024 10:28:11 +0800
Subject: [PATCH] 考试中获取题目失败重新生成
---
src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java | 32 ++++++++++++++++++++++++--------
1 files changed, 24 insertions(+), 8 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 ff7094a..9871704 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
@@ -297,22 +297,38 @@
Map<String, Object> map = new HashMap<>(4);
//1.查询当前人员当前考试的考试题目信息
List<ExamSubjectChoicesVO> examSubjectChoicesVOSList = baseMapper.getExaminationSubjectList(examPaperVO);
-
+ if (examSubjectChoicesVOSList.size()==0) {
+ examSubjectChoicesVOSList = baseMapper.queryRandomSubject(null);
+ List<ExamExaminationSubject> list = new ArrayList<>();
+ examSubjectChoicesVOSList.forEach(examSubjectChoicesVO -> {
+ //新增个人对应每场考试成绩试卷
+ ExamExaminationSubject ksxtSginup = new ExamExaminationSubject();
+ ksxtSginup.setExaminationId(examPaperVO.getScoreId());
+ ksxtSginup.setCategoryId(examSubjectChoicesVO.getChoicesType());
+ ksxtSginup.setSubjectId(examSubjectChoicesVO.getId());
+ //新增
+ list.add(ksxtSginup);
+ //将题目答案设置为空字符串,不让前端看到
+ examSubjectChoicesVO.setAnswer("");
+ });
+ //批量新增
+ baseMapper.insertBatch(list);
+ }
//2.查询当前人员已答的题目信息
ExamAnswerRecord examAnswerRecord = new ExamAnswerRecord();
examAnswerRecord.setScoreId(examPaperVO.getScoreId());
List<ExamAnswerRecord> examAnswerRecordList = examAnswerRecordService.list(Condition.getQueryWrapper(examAnswerRecord));
//3.查询正在答题的信息
- int count = examAnswerRecordList.size();
+ int count = examAnswerRecordList.size();
//查询下一题题目信息
ExamSubjectChoicesVO examSubjectChoicesVO = new ExamSubjectChoicesVO();
ExamSubjectChoices examSubjectChoices = new ExamSubjectChoices();
- if (count>0) {
+ if (count > 0) {
examSubjectChoices.setId(examSubjectChoicesVOSList.get(count).getId());
examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
}
- if (count==0) {
+ if (count == 0) {
examSubjectChoices.setId(examSubjectChoicesVOSList.get(0).getId());
examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
}
@@ -321,10 +337,10 @@
ExamScore examScore = examScoreService.getById(examPaperVO.getScoreId());
//5.数据封装
- map.put("examSubjectChoicesVOSList",examSubjectChoicesVOSList);
- map.put("examAnswerRecordList",examAnswerRecordList);
- map.put("examSubjectChoicesVO",examSubjectChoicesVO);
- map.put("examScore",examScore);
+ map.put("examSubjectChoicesVOSList", examSubjectChoicesVOSList);
+ map.put("examAnswerRecordList", examAnswerRecordList);
+ map.put("examSubjectChoicesVO", examSubjectChoicesVO);
+ map.put("examScore", examScore);
//6.返回数据
return map;
--
Gitblit v1.9.3