|
@@ -375,19 +375,19 @@ public class ExamServiceImpl extends ServiceImpl<ExamMapper, Exam> implements IE
|
|
|
List<ExamAnswerDTO> examAnswers = dto.getExamAnswers();
|
|
|
if (CollectionUtils.isEmpty(examAnswers)) {
|
|
|
updateUserExamAndResult(0, userExam);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- Map<Integer, UserExamQuestion> userExamQuestionMap = userExamQuestionList.stream().collect(Collectors
|
|
|
- .toMap(UserExamQuestion::getQuestionIndex, a -> a, (k1, k2) -> k1));
|
|
|
+ } else {
|
|
|
+ //有作答
|
|
|
+ Map<Integer, UserExamQuestion> userExamQuestionMap = userExamQuestionList.stream().collect(Collectors
|
|
|
+ .toMap(UserExamQuestion::getQuestionIndex, a -> a, (k1, k2) -> k1));
|
|
|
|
|
|
- //获取题目和答案
|
|
|
- Map<String, Question> questionMap = getQuestionMap(userExamQuestionList, true, false);
|
|
|
+ //获取题目和答案
|
|
|
+ Map<String, Question> questionMap = getQuestionMap(userExamQuestionList, true, false);
|
|
|
|
|
|
- //计算最终得分
|
|
|
- int score = calcFinalScore(examAnswers, userExamQuestionMap, questionMap, userExamQuestionList);
|
|
|
- //更新用户考试信息和成绩
|
|
|
- updateUserExamAndResult(score, userExam);
|
|
|
+ //计算最终得分
|
|
|
+ int score = calcFinalScore(examAnswers, userExamQuestionMap, questionMap, userExamQuestionList);
|
|
|
+ //更新用户考试信息和成绩
|
|
|
+ updateUserExamAndResult(score, userExam);
|
|
|
+ }
|
|
|
|
|
|
//异步删除自动交卷任务
|
|
|
ThreadPoolUtil.getExecutor().execute(() -> this.deleteAutoCommitJob(dto.getUserExamId()));
|