|
@@ -30,7 +30,9 @@ import cn.com.qmth.examcloud.question.core.question.DefaultQuestion;
|
|
|
import cn.com.qmth.examcloud.question.core.question.DefaultQuestionOption;
|
|
|
import cn.com.qmth.examcloud.question.core.question.DefaultQuestionStructure;
|
|
|
import cn.com.qmth.examcloud.question.core.question.DefaultQuestionUnit;
|
|
|
+import cn.com.qmth.examcloud.question.core.question.QuestionOption;
|
|
|
import cn.com.qmth.examcloud.question.core.question.QuestionType;
|
|
|
+import cn.com.qmth.examcloud.question.core.question.QuestionUnit;
|
|
|
|
|
|
/**
|
|
|
* @author weiwenhai
|
|
@@ -48,7 +50,6 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
@Autowired
|
|
|
MongoTemplate mongoTemplate;
|
|
|
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
@Override
|
|
|
public String save(DefaultQuestion defaultQuestion) {
|
|
|
Question question = new Question();
|
|
@@ -74,12 +75,12 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
question.setProperties(defaultQuestion.getProperties());
|
|
|
DefaultQuestionStructure defaultQuestionStructure = (DefaultQuestionStructure) defaultQuestion.getMasterVersion();
|
|
|
//判断试题单元对象
|
|
|
- List<DefaultQuestionUnit> questionUnitList = (List<DefaultQuestionUnit>) defaultQuestionStructure.getQuestionUnitList();
|
|
|
+ List<QuestionUnit> questionUnitList = defaultQuestionStructure.getQuestionUnitList();
|
|
|
if(questionUnitList == null || questionUnitList.size()<1){
|
|
|
throw new StatusException("Q-012033", "试题单元对象为空");
|
|
|
}
|
|
|
if(questionUnitList.size()==1){
|
|
|
- DefaultQuestionUnit defaultQuestionUnit = questionUnitList.get(0);
|
|
|
+ QuestionUnit defaultQuestionUnit = questionUnitList.get(0);
|
|
|
//判断试题题型
|
|
|
if(defaultQuestionUnit.getQuestionType() == null){
|
|
|
throw new StatusException("Q-012039", "试题单元中题型为空");
|
|
@@ -94,7 +95,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
question.setQuestionType(type);
|
|
|
//如果是选择题,判断选项
|
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
|
- List<DefaultQuestionOption> questionOptionList = (List<DefaultQuestionOption>) defaultQuestionUnit.getQuestionOptionList();
|
|
|
+ List<QuestionOption> questionOptionList = defaultQuestionUnit.getQuestionOptionList();
|
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
|
}
|
|
@@ -111,7 +112,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
question.setQuestionType(QuesStructType.NESTED_ANSWER_QUESTION);
|
|
|
//生成子题
|
|
|
List<Question> subList = new ArrayList<Question>();
|
|
|
- for(DefaultQuestionUnit defaultQuestionUnit:questionUnitList){
|
|
|
+ for(QuestionUnit defaultQuestionUnit:questionUnitList){
|
|
|
Question subQues = new Question();
|
|
|
subQues.setId(UUID.randomUUID().toString());
|
|
|
subQues.setDifficulty("中");
|
|
@@ -131,7 +132,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
subQues.setQuestionType(type);
|
|
|
//如果是选择题,判断选项
|
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
|
- List<DefaultQuestionOption> questionOptionList = (List<DefaultQuestionOption>) defaultQuestionUnit.getQuestionOptionList();
|
|
|
+ List<QuestionOption> questionOptionList = defaultQuestionUnit.getQuestionOptionList();
|
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
|
}
|
|
@@ -166,11 +167,11 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //构建选择题选项
|
|
|
- private List<QuesOption> buildOptions(List<DefaultQuestionOption> questionOptionList,String[] rightAnswer){
|
|
|
+ //构建选择题选项
|
|
|
+ private List<QuesOption> buildOptions(List<QuestionOption> questionOptionList,String[] rightAnswer){
|
|
|
List<QuesOption> quesOptions = new ArrayList<QuesOption>();
|
|
|
for(int i=0;i<questionOptionList.size();i++){
|
|
|
- DefaultQuestionOption defaultQuestionOption = questionOptionList.get(i);
|
|
|
+ QuestionOption defaultQuestionOption = questionOptionList.get(i);
|
|
|
QuesOption option = new QuesOption();
|
|
|
option.setNumber(String.valueOf(i+1));
|
|
|
option.setOptionBody(defaultQuestionOption.getBody());
|
|
@@ -185,7 +186,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
}
|
|
|
|
|
|
//构建答案
|
|
|
- private String buildAnswer(DefaultQuestionUnit defaultQuestionUnit){
|
|
|
+ private String buildAnswer(QuestionUnit defaultQuestionUnit){
|
|
|
QuestionType questionType = defaultQuestionUnit.getQuestionType();
|
|
|
String answer = "";
|
|
|
String[] answers = defaultQuestionUnit.getRightAnswer();
|
|
@@ -422,7 +423,6 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
return rightAnswer;
|
|
|
}
|
|
|
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
@Override
|
|
|
public String saveList(List<DefaultQuestion> defaultQuestions) {
|
|
|
if(defaultQuestions != null && defaultQuestions.size()>0){
|
|
@@ -451,12 +451,12 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
question.setProperties(defaultQuestion.getProperties());
|
|
|
DefaultQuestionStructure defaultQuestionStructure = (DefaultQuestionStructure) defaultQuestion.getMasterVersion();
|
|
|
//判断试题单元对象
|
|
|
- List<DefaultQuestionUnit> questionUnitList = (List<DefaultQuestionUnit>) defaultQuestionStructure.getQuestionUnitList();
|
|
|
+ List<QuestionUnit> questionUnitList = defaultQuestionStructure.getQuestionUnitList();
|
|
|
if(questionUnitList == null || questionUnitList.size()<1){
|
|
|
throw new StatusException("Q-012033", "试题单元对象为空");
|
|
|
}
|
|
|
if(questionUnitList.size()==1){
|
|
|
- DefaultQuestionUnit defaultQuestionUnit = questionUnitList.get(0);
|
|
|
+ QuestionUnit defaultQuestionUnit = questionUnitList.get(0);
|
|
|
//判断试题题型
|
|
|
if(defaultQuestionUnit.getQuestionType() == null){
|
|
|
throw new StatusException("Q-012039", "试题单元中题型为空");
|
|
@@ -471,7 +471,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
question.setQuestionType(type);
|
|
|
//如果是选择题,判断选项
|
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
|
- List<DefaultQuestionOption> questionOptionList = (List<DefaultQuestionOption>) defaultQuestionUnit.getQuestionOptionList();
|
|
|
+ List<QuestionOption> questionOptionList = defaultQuestionUnit.getQuestionOptionList();
|
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
|
}
|
|
@@ -488,7 +488,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
question.setQuestionType(QuesStructType.NESTED_ANSWER_QUESTION);
|
|
|
//生成子题
|
|
|
List<Question> subList = new ArrayList<Question>();
|
|
|
- for(DefaultQuestionUnit defaultQuestionUnit:questionUnitList){
|
|
|
+ for(QuestionUnit defaultQuestionUnit:questionUnitList){
|
|
|
Question subQues = new Question();
|
|
|
subQues.setId(UUID.randomUUID().toString());
|
|
|
subQues.setDifficulty("中");
|
|
@@ -508,7 +508,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
subQues.setQuestionType(type);
|
|
|
//如果是选择题,判断选项
|
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
|
- List<DefaultQuestionOption> questionOptionList = (List<DefaultQuestionOption>) defaultQuestionUnit.getQuestionOptionList();
|
|
|
+ List<QuestionOption> questionOptionList = defaultQuestionUnit.getQuestionOptionList();
|
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
|
}
|