From d910a3e7ad5bc3a5e5443f506d05bbb9e83a4c8e Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 31 十月 2024 17:14:33 +0800 Subject: [PATCH] 生成试卷时如果题目列表为空,则不反悔这个题型的数据 --- src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java | 29 +++++++++++++++++------------ 1 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java index e80229d..d375fe4 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java @@ -255,9 +255,9 @@ .one(); if (Objects.nonNull(hasJoin)) { // 鍏佽鎻愪氦鍚庣户缁綔绛� -// if(ExamSubmitTempStatusEnum.finish.equals(hasJoin.getStatus())){ -// throw new RuntimeException("鎮ㄥ凡鎻愪氦璇曞嵎锛岃鍕块噸澶嶄綔绛�"); -// } + if(ExamSubmitTempStatusEnum.finish.equals(hasJoin.getStatus())){ + throw new RuntimeException("鎮ㄥ凡鎻愪氦璇曞嵎锛岃鍕块噸澶嶄綔绛�"); + } StartExamVO startExamVO = new StartExamVO(); startExamVO.setExamName(exam.getExamName()); startExamVO.setId(hasJoin.getExamId()); @@ -300,6 +300,9 @@ for (PaperSettingItem settingItem : settingList) { Integer num = settingItem.getNum(); Integer difficult = settingItem.getDifficult(); + if(difficult == 0){ + difficult = null; + } //闇�瑕侀厤缃殑棰樼洰鏁伴噺涓�0鍒欒烦杩� if (num == null || num == 0) continue; List<Question> questions = questionMapper.getRandomQuestion(settingItem.getSubjectId(), paperSetting.getQuestionType(), difficult, settingItem.getNum()); @@ -344,7 +347,9 @@ childQuestionList.addAll(childQuestions); } paperFixQuestionVO.setQuestionList(childQuestionList); - examData.add(paperFixQuestionVO); + if (! CollectionUtils.isEmpty(childQuestionList)) { + examData.add(paperFixQuestionVO); + } } } ExamSubmitTemp examSubmitTemp = new ExamSubmitTemp(); @@ -382,7 +387,6 @@ doQuestionVO.setQuestionType(item.getQuestionType()); //澧炲姞棰樼洰鍒嗘暟 doQuestionVO.setQuestionScore(question.getScore()); - // 棰樼洰鍓湰 QuestionAnswerCopyVO copy = new QuestionAnswerCopyVO(); copy.setId(question.getId()); @@ -515,7 +519,6 @@ ExamSubmitTemp one = new LambdaQueryChainWrapper<>(examSubmitTempMapper) .eq(ExamSubmitTemp::getExamId, submitData.getId()) .eq(ExamSubmitTemp::getUserId, webContext.getCurrentUser().getId()) - .eq(ExamSubmitTemp::getDeleted, 0) .one(); if (Objects.nonNull(one)) { @@ -635,12 +638,14 @@ for (PaperFixQuestionVO titleItem : titleItems) { for (DoQuestionVO doQuestionVO : titleItem.getQuestionList()) { Integer questionId = doQuestionVO.getId(); - Optional<QuestionAnswerCopyVO> first = answerList.stream().filter(answer -> questionId.equals(answer.getId())).findFirst(); - if (first.isPresent()) { - QuestionAnswerCopyVO answerCopyVO = first.get(); - doQuestionVO.setQuestionAnswer(answerCopyVO.getCorrect()); - doQuestionVO.setAnalyze(answerCopyVO.getAnalyze()); - doQuestionVO.setDifficult(answerCopyVO.getDifficult()); + if(questionId!=null) { + Optional<QuestionAnswerCopyVO> first = answerList.stream().filter(answer -> questionId.equals(answer.getId())).findFirst(); + if (first.isPresent()) { + QuestionAnswerCopyVO answerCopyVO = first.get(); + doQuestionVO.setQuestionAnswer(answerCopyVO.getCorrect()); + doQuestionVO.setAnalyze(answerCopyVO.getAnalyze()); + doQuestionVO.setDifficult(answerCopyVO.getDifficult()); + } } } } -- Gitblit v1.8.0