| | |
| | | import com.mindskip.xzs.utility.ModelMapperSingle; |
| | | import com.mindskip.xzs.utility.ExamUtil; |
| | | import com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM; |
| | | import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO; |
| | | import com.mindskip.xzs.viewmodel.admin.question.QuestionEditItemVM; |
| | | import com.mindskip.xzs.viewmodel.admin.question.QuestionEditRequestVM; |
| | | import com.mindskip.xzs.viewmodel.admin.question.QuestionPageRequestVM; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public QuestionEditRequestVM getQuestionEditRequestVM(Integer questionId) { |
| | | public ExamQuestionVO getQuestionEditRequestVM(Integer questionId) { |
| | | //题目映射 |
| | | Question question = questionMapper.selectByPrimaryKey(questionId); |
| | | List<QuestionSubject> list = questionSubjectService.getQuestion(questionId).stream().map(e->{ |
| | |
| | | e.setSubName(subjectMapper.page(subject).get(0).getName()); |
| | | return e; |
| | | }).collect(Collectors.toList()); |
| | | QuestionEditRequestVM questionEditRequestVM = getQuestionEditRequestVM(question); |
| | | ExamQuestionVO questionEditRequestVM = getQuestionEditRequestVM(question); |
| | | questionEditRequestVM.setQuestionSubjects(list); |
| | | return questionEditRequestVM; |
| | | } |
| | | |
| | | @Override |
| | | public QuestionEditRequestVM getQuestionEditRequestVM(Question question) { |
| | | public ExamQuestionVO getQuestionEditRequestVM(Question question) { |
| | | //题目映射 |
| | | TextContent questionInfoTextContent = textContentService.selectById(question.getInfoTextContentId()); |
| | | QuestionObject questionObject = JsonUtil.toJsonObject(questionInfoTextContent.getContent(), QuestionObject.class); |
| | | QuestionEditRequestVM questionEditRequestVM = modelMapper.map(question, QuestionEditRequestVM.class); |
| | | ExamQuestionVO questionEditRequestVM = modelMapper.map(question, ExamQuestionVO.class); |
| | | questionEditRequestVM.setTitle(questionObject.getTitleContent()); |
| | | |
| | | //答案 |
| | | QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.fromCode(question.getQuestionType()); |
| | | switch (questionTypeEnum) { |
| | | case SingleChoice: |
| | | case TrueFalse: |
| | | questionEditRequestVM.setCorrect(question.getCorrect()); |
| | | break; |
| | | case MultipleChoice: |
| | | questionEditRequestVM.setCorrectArray(ExamUtil.contentToArray(question.getCorrect())); |
| | | break; |
| | | case GapFilling: |
| | | List<String> correctContent = questionObject.getQuestionItemObjects().stream().map(d -> d.getContent()).collect(Collectors.toList()); |
| | | questionEditRequestVM.setCorrectArray(correctContent); |
| | | break; |
| | | case ShortAnswer: |
| | | questionEditRequestVM.setCorrect(questionObject.getCorrect()); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | questionEditRequestVM.setScore(ExamUtil.scoreToVM(question.getScore())); |
| | | questionEditRequestVM.setAnalyze(questionObject.getAnalyze()); |
| | | // QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.fromCode(question.getQuestionType()); |
| | | // switch (questionTypeEnum) { |
| | | // case SingleChoice: |
| | | // case TrueFalse: |
| | | // questionEditRequestVM.setCorrect(question.getCorrect()); |
| | | // break; |
| | | // case MultipleChoice: |
| | | // questionEditRequestVM.setCorrectArray(ExamUtil.contentToArray(question.getCorrect())); |
| | | // break; |
| | | // case GapFilling: |
| | | // List<String> correctContent = questionObject.getQuestionItemObjects().stream().map(d -> d.getContent()).collect(Collectors.toList()); |
| | | // questionEditRequestVM.setCorrectArray(correctContent); |
| | | // break; |
| | | // case ShortAnswer: |
| | | // questionEditRequestVM.setCorrect(questionObject.getCorrect()); |
| | | // break; |
| | | // default: |
| | | // break; |
| | | // } |
| | | // questionEditRequestVM.setScore(ExamUtil.scoreToVM(question.getScore())); |
| | | // questionEditRequestVM.setAnalyze(questionObject.getAnalyze()); |
| | | |
| | | |
| | | //题目项映射 |