Explorar o código

修改调取单题接口:调取单题时动态计算选择题答案

chenken %!s(int64=8) %!d(string=hai) anos
pai
achega
427e7cc020

+ 12 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ExtractConfigServiceImpl.java

@@ -490,13 +490,16 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 			question.setQuesAnswer(answer);
 		}else{
 			String [] order = optionOrder.split(",");
+			String answer = "";
 			for(int i = 0;i < order.length;i++){
 				for(QuesOption quesOption : quesOptions){
 					if(order[i].equals(quesOption.getNumber()) && quesOption.getIsCorrect() == 1){
-						question.setQuesAnswer(CommonUtils.getOptionNum(i));
+						answer += CommonUtils.getOptionNum(i);
+						break;
 					}
 				}
 			}
+			question.setQuesAnswer(answer);
 		}
 	}
 	
@@ -509,6 +512,10 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
         String msg = "";
         Map<String, Object> quesMap = new HashMap<String, Object>();
         PaperDetailUnit paperDetailUnit = paperDetailUnitRepo.findOne(paperDetailUnitId);
+        List<PaperDetailUnit> paperDetailUnits = new ArrayList<PaperDetailUnit>();
+        paperDetailUnits.add(paperDetailUnit);
+        //设置答案
+        setAnswer(paperDetailUnits);
         //重新对选择题option进行排序(多选、单选、套题下选择题)
         reorderChoicequestionOption(paperDetailUnit);
         Question ques = paperDetailUnit.getQuestion();
@@ -525,6 +532,10 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
                 dto.setSubQuestions(subQuesDtos);
             }
         }
+        if(ques.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION
+        		||ques.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION){
+        	dto.setQuesAnswer(ques.getQuesAnswer());
+        }
         msg = "success";
         quesMap.put("quesDto", dto);
         quesMap.put("msg", msg);