|
@@ -1,6 +1,7 @@
|
|
|
package cn.com.qmth.examcloud.core.questions.service.impl;
|
|
|
|
|
|
import cn.com.qmth.examcloud.api.commons.security.bean.User;
|
|
|
+import cn.com.qmth.examcloud.commons.exception.StatusException;
|
|
|
import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
|
|
|
import cn.com.qmth.examcloud.core.questions.base.Model;
|
|
|
import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
|
|
@@ -11,6 +12,7 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.*;
|
|
|
import cn.com.qmth.examcloud.core.questions.service.PaperService;
|
|
|
import cn.com.qmth.examcloud.core.questions.service.QuesService;
|
|
|
import cn.com.qmth.examcloud.core.questions.service.QuestionAudioService;
|
|
|
+import cn.com.qmth.examcloud.core.questions.service.bean.QuestionAnswerBean;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.bson.types.ObjectId;
|
|
|
import org.docx4j.XmlUtils;
|
|
@@ -39,10 +41,7 @@ import org.springframework.data.mongodb.core.query.Update;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.xml.bind.JAXBElement;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
/**
|
|
@@ -730,5 +729,30 @@ public class QuesServiceImpl implements QuesService {
|
|
|
}
|
|
|
quesRepo.saveAll(questionList);
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
+ @Override
|
|
|
+ public QuestionAnswerBean findQuestionAnswer(String questionId) {
|
|
|
+ Optional<Question> optional = quesRepo.findById(questionId);
|
|
|
+ if (!optional.isPresent()) {
|
|
|
+ throw new StatusException("500", "当前试题已不存在!");
|
|
|
+ }
|
|
|
+
|
|
|
+ Question question = optional.get();
|
|
|
+
|
|
|
+ QuestionAnswerBean bean = new QuestionAnswerBean();
|
|
|
+ List<String> answers = new ArrayList<>();
|
|
|
+ if (QuesStructType.NESTED_ANSWER_QUESTION == question.getQuestionType()) {
|
|
|
+ List<Question> subQuestions = question.getSubQuestions();
|
|
|
+ for (Question subQuestion : subQuestions) {
|
|
|
+ answers.add(subQuestion.getQuesAnswer() != null ? subQuestion.getQuesAnswer() : "");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ answers.add(question.getQuesAnswer() != null ? question.getQuesAnswer() : "");
|
|
|
+ }
|
|
|
+
|
|
|
+ bean.setRightAnswer(answers);
|
|
|
+ bean.setQuestionId(question.getId());
|
|
|
+ return bean;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|