|
@@ -30,9 +30,7 @@ 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.DefaultQuestionOption;
|
|
import cn.com.qmth.examcloud.question.core.question.DefaultQuestionStructure;
|
|
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.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.QuestionType;
|
|
-import cn.com.qmth.examcloud.question.core.question.QuestionUnit;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author weiwenhai
|
|
* @author weiwenhai
|
|
@@ -73,14 +71,14 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
question.setIsolated(true);
|
|
question.setIsolated(true);
|
|
question.setPublicity(true);
|
|
question.setPublicity(true);
|
|
question.setProperties(defaultQuestion.getProperties());
|
|
question.setProperties(defaultQuestion.getProperties());
|
|
- DefaultQuestionStructure defaultQuestionStructure = (DefaultQuestionStructure) defaultQuestion.getMasterVersion();
|
|
|
|
|
|
+ DefaultQuestionStructure defaultQuestionStructure = (DefaultQuestionStructure) defaultQuestion.getDefaultQuestionStructure();
|
|
//判断试题单元对象
|
|
//判断试题单元对象
|
|
- List<QuestionUnit> questionUnitList = defaultQuestionStructure.getQuestionUnitList();
|
|
|
|
|
|
+ List<DefaultQuestionUnit> questionUnitList = defaultQuestionStructure.getDefaultQuestionUnitList();
|
|
if(questionUnitList == null || questionUnitList.size()<1){
|
|
if(questionUnitList == null || questionUnitList.size()<1){
|
|
throw new StatusException("Q-012033", "试题单元对象为空");
|
|
throw new StatusException("Q-012033", "试题单元对象为空");
|
|
}
|
|
}
|
|
if(questionUnitList.size()==1){
|
|
if(questionUnitList.size()==1){
|
|
- QuestionUnit defaultQuestionUnit = questionUnitList.get(0);
|
|
|
|
|
|
+ DefaultQuestionUnit defaultQuestionUnit = questionUnitList.get(0);
|
|
//判断试题题型
|
|
//判断试题题型
|
|
if(defaultQuestionUnit.getQuestionType() == null){
|
|
if(defaultQuestionUnit.getQuestionType() == null){
|
|
throw new StatusException("Q-012039", "试题单元中题型为空");
|
|
throw new StatusException("Q-012039", "试题单元中题型为空");
|
|
@@ -95,7 +93,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
question.setQuestionType(type);
|
|
question.setQuestionType(type);
|
|
//如果是选择题,判断选项
|
|
//如果是选择题,判断选项
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
- List<QuestionOption> questionOptionList = defaultQuestionUnit.getQuestionOptionList();
|
|
|
|
|
|
+ List<DefaultQuestionOption> questionOptionList = defaultQuestionUnit.getDefaultQuestionOptionList();
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
}
|
|
}
|
|
@@ -112,7 +110,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
question.setQuestionType(QuesStructType.NESTED_ANSWER_QUESTION);
|
|
question.setQuestionType(QuesStructType.NESTED_ANSWER_QUESTION);
|
|
//生成子题
|
|
//生成子题
|
|
List<Question> subList = new ArrayList<Question>();
|
|
List<Question> subList = new ArrayList<Question>();
|
|
- for(QuestionUnit defaultQuestionUnit:questionUnitList){
|
|
|
|
|
|
+ for(DefaultQuestionUnit defaultQuestionUnit:questionUnitList){
|
|
Question subQues = new Question();
|
|
Question subQues = new Question();
|
|
subQues.setId(UUID.randomUUID().toString());
|
|
subQues.setId(UUID.randomUUID().toString());
|
|
subQues.setDifficulty("中");
|
|
subQues.setDifficulty("中");
|
|
@@ -132,7 +130,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
subQues.setQuestionType(type);
|
|
subQues.setQuestionType(type);
|
|
//如果是选择题,判断选项
|
|
//如果是选择题,判断选项
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
- List<QuestionOption> questionOptionList = defaultQuestionUnit.getQuestionOptionList();
|
|
|
|
|
|
+ List<DefaultQuestionOption> questionOptionList = defaultQuestionUnit.getDefaultQuestionOptionList();
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
}
|
|
}
|
|
@@ -168,10 +166,10 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
}
|
|
}
|
|
|
|
|
|
//构建选择题选项
|
|
//构建选择题选项
|
|
- private List<QuesOption> buildOptions(List<QuestionOption> questionOptionList,String[] rightAnswer){
|
|
|
|
|
|
+ private List<QuesOption> buildOptions(List<DefaultQuestionOption> questionOptionList,String[] rightAnswer){
|
|
List<QuesOption> quesOptions = new ArrayList<QuesOption>();
|
|
List<QuesOption> quesOptions = new ArrayList<QuesOption>();
|
|
for(int i=0;i<questionOptionList.size();i++){
|
|
for(int i=0;i<questionOptionList.size();i++){
|
|
- QuestionOption defaultQuestionOption = questionOptionList.get(i);
|
|
|
|
|
|
+ DefaultQuestionOption defaultQuestionOption = questionOptionList.get(i);
|
|
QuesOption option = new QuesOption();
|
|
QuesOption option = new QuesOption();
|
|
option.setNumber(String.valueOf(i+1));
|
|
option.setNumber(String.valueOf(i+1));
|
|
option.setOptionBody(defaultQuestionOption.getBody());
|
|
option.setOptionBody(defaultQuestionOption.getBody());
|
|
@@ -186,7 +184,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
}
|
|
}
|
|
|
|
|
|
//构建答案
|
|
//构建答案
|
|
- private String buildAnswer(QuestionUnit defaultQuestionUnit){
|
|
|
|
|
|
+ private String buildAnswer(DefaultQuestionUnit defaultQuestionUnit){
|
|
QuestionType questionType = defaultQuestionUnit.getQuestionType();
|
|
QuestionType questionType = defaultQuestionUnit.getQuestionType();
|
|
String answer = "";
|
|
String answer = "";
|
|
String[] answers = defaultQuestionUnit.getRightAnswer();
|
|
String[] answers = defaultQuestionUnit.getRightAnswer();
|
|
@@ -312,7 +310,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
defaultQuestion.setIsolated(true);
|
|
defaultQuestion.setIsolated(true);
|
|
defaultQuestion.setRootOrgId(Long.valueOf(question.getOrgId()));
|
|
defaultQuestion.setRootOrgId(Long.valueOf(question.getOrgId()));
|
|
defaultQuestion.setProperties(question.getProperties());
|
|
defaultQuestion.setProperties(question.getProperties());
|
|
- defaultQuestion.setMasterVersion(defaultQuestionStructure);
|
|
|
|
|
|
+ defaultQuestion.setDefaultQuestionStructure(defaultQuestionStructure);
|
|
return defaultQuestion;
|
|
return defaultQuestion;
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|
|
@@ -449,14 +447,14 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
question.setIsolated(true);
|
|
question.setIsolated(true);
|
|
question.setPublicity(true);
|
|
question.setPublicity(true);
|
|
question.setProperties(defaultQuestion.getProperties());
|
|
question.setProperties(defaultQuestion.getProperties());
|
|
- DefaultQuestionStructure defaultQuestionStructure = (DefaultQuestionStructure) defaultQuestion.getMasterVersion();
|
|
|
|
|
|
+ DefaultQuestionStructure defaultQuestionStructure = (DefaultQuestionStructure) defaultQuestion.getDefaultQuestionStructure();
|
|
//判断试题单元对象
|
|
//判断试题单元对象
|
|
- List<QuestionUnit> questionUnitList = defaultQuestionStructure.getQuestionUnitList();
|
|
|
|
|
|
+ List<DefaultQuestionUnit> questionUnitList = defaultQuestionStructure.getDefaultQuestionUnitList();
|
|
if(questionUnitList == null || questionUnitList.size()<1){
|
|
if(questionUnitList == null || questionUnitList.size()<1){
|
|
throw new StatusException("Q-012033", "试题单元对象为空");
|
|
throw new StatusException("Q-012033", "试题单元对象为空");
|
|
}
|
|
}
|
|
if(questionUnitList.size()==1){
|
|
if(questionUnitList.size()==1){
|
|
- QuestionUnit defaultQuestionUnit = questionUnitList.get(0);
|
|
|
|
|
|
+ DefaultQuestionUnit defaultQuestionUnit = questionUnitList.get(0);
|
|
//判断试题题型
|
|
//判断试题题型
|
|
if(defaultQuestionUnit.getQuestionType() == null){
|
|
if(defaultQuestionUnit.getQuestionType() == null){
|
|
throw new StatusException("Q-012039", "试题单元中题型为空");
|
|
throw new StatusException("Q-012039", "试题单元中题型为空");
|
|
@@ -471,7 +469,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
question.setQuestionType(type);
|
|
question.setQuestionType(type);
|
|
//如果是选择题,判断选项
|
|
//如果是选择题,判断选项
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
- List<QuestionOption> questionOptionList = defaultQuestionUnit.getQuestionOptionList();
|
|
|
|
|
|
+ List<DefaultQuestionOption> questionOptionList = defaultQuestionUnit.getDefaultQuestionOptionList();
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
}
|
|
}
|
|
@@ -488,7 +486,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
question.setQuestionType(QuesStructType.NESTED_ANSWER_QUESTION);
|
|
question.setQuestionType(QuesStructType.NESTED_ANSWER_QUESTION);
|
|
//生成子题
|
|
//生成子题
|
|
List<Question> subList = new ArrayList<Question>();
|
|
List<Question> subList = new ArrayList<Question>();
|
|
- for(QuestionUnit defaultQuestionUnit:questionUnitList){
|
|
|
|
|
|
+ for(DefaultQuestionUnit defaultQuestionUnit:questionUnitList){
|
|
Question subQues = new Question();
|
|
Question subQues = new Question();
|
|
subQues.setId(UUID.randomUUID().toString());
|
|
subQues.setId(UUID.randomUUID().toString());
|
|
subQues.setDifficulty("中");
|
|
subQues.setDifficulty("中");
|
|
@@ -508,7 +506,7 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
subQues.setQuestionType(type);
|
|
subQues.setQuestionType(type);
|
|
//如果是选择题,判断选项
|
|
//如果是选择题,判断选项
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
if(defaultQuestionUnit.getQuestionType() == QuestionType.SINGLE_CHOICE || defaultQuestionUnit.getQuestionType() == QuestionType.MULTIPLE_CHOICE){
|
|
- List<QuestionOption> questionOptionList = defaultQuestionUnit.getQuestionOptionList();
|
|
|
|
|
|
+ List<DefaultQuestionOption> questionOptionList = defaultQuestionUnit.getDefaultQuestionOptionList();
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
if(questionOptionList == null || questionOptionList.size()<1){
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
throw new StatusException("Q-012049", "试题单元中选项为空");
|
|
}
|
|
}
|