src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -15,10 +15,7 @@ import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.PageInfoHelper; import com.mindskip.xzs.utility.excel.ExcelUtils; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM; import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM; import com.mindskip.xzs.viewmodel.admin.exam.*; import lombok.SneakyThrows; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -123,6 +120,14 @@ @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) public RestResponse<ExamPaperEditRequestVO> select(@PathVariable Integer id) { ExamPaperEditRequestVO vm = examPaperService.examPaperToVM(id); for (ExamPaperTitleItemVO titleItem : vm.getTitleItems()) { titleItem.getQuestionItems().stream().forEach(question -> { // 清空答案、解析 question.setCorrect(""); question.setAnalyze(""); question.setCorrectArray(null); }); } return RestResponse.ok(vm); } src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java
@@ -46,6 +46,12 @@ } /** * 开始考试 * * @param id * @return */ @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) public RestResponse<ExamPaperEditRequestVO> select(@PathVariable Integer id) { return RestResponse.ok(examPaperService.examPaperToVM(id)); src/main/java/com/mindskip/xzs/repository/QuestionMapper.java
@@ -22,6 +22,7 @@ List<Question> page(QuestionPageRequestVM requestVM); List<Question> selectByIds(@Param("ids") List<Integer> ids); List<QuestionVO> getVoByIds(@Param("ids") List<Integer> ids); Integer selectAllCount(); src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
@@ -171,6 +171,7 @@ throw new RuntimeException("该试卷没有题目"); } List<Question> questions = questionMapper.selectByIds(questionIds); //单选数量 Integer singleChoice = questions.stream().filter(e -> e.getQuestionType() == 1).collect(Collectors.toList()).size(); //多选数量 @@ -186,6 +187,7 @@ List<ExamQuestionVO> questionItemsVM = t.getQuestionItems().stream().map(i -> { Question question = questions.stream().filter(q -> q.getId().equals(i.getId())).findFirst().get(); ExamQuestionVO questionEditRequestVM = questionService.getQuestionEditRequestVM(question); questionEditRequestVM.setTitle("(" + QuestionTypeEnum.fromCode(questionEditRequestVM.getQuestionType()).getName() + ") " + questionEditRequestVM.getTitle()); questionEditRequestVM.setItemOrder(generateRandomNumber(questionEditRequestVM.getQuestionType() == 1 ? 0 : ((questionEditRequestVM.getQuestionType() == 2 ? singleChoice : multipleChoice + singleChoice)), questionEditRequestVM.getQuestionType() == 1 ? singleChoice : ((questionEditRequestVM.getQuestionType() == 2 ? multipleChoice + singleChoice : trueFalse + multipleChoice + singleChoice)),