xiangpei
2024-03-15 03f1e635215bdefd1b649a10675278567b5b8800
src/main/java/com/mindskip/xzs/service/impl/QuestionServiceImpl.java
@@ -19,6 +19,7 @@
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;
@@ -132,7 +133,7 @@
    }
    @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->{
@@ -141,41 +142,41 @@
            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());
        //题目项映射