Ver Fonte

K12接口修改

weiwenhai há 6 anos atrás
pai
commit
56de5e126c

+ 10 - 6
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/DefaultQuesionController.java

@@ -1,5 +1,8 @@
 package cn.com.qmth.examcloud.core.questions.api.controller;
 
+import java.util.List;
+import java.util.Set;
+
 import io.swagger.annotations.ApiOperation;
 
 import org.apache.commons.lang3.StringUtils;
@@ -18,6 +21,7 @@ import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.questions.api.request.GetDefaultQuesionReq;
 import cn.com.qmth.examcloud.core.questions.api.request.GetDefaultQuesionsReq;
+import cn.com.qmth.examcloud.core.questions.api.request.GetQuestionListReq;
 import cn.com.qmth.examcloud.core.questions.api.request.GetQuestionReq;
 import cn.com.qmth.examcloud.core.questions.service.QuestionProviderService;
 import cn.com.qmth.examcloud.question.core.question.DefaultQuestion;
@@ -82,13 +86,13 @@ public class DefaultQuesionController extends ControllerSupport {
 	}
 	
 	@ApiOperation(value = "查询试题")
-	@PostMapping("/find_question")
-	public ResponseEntity<Object> find(@RequestBody GetQuestionReq req) {
-		String questionId = req.getQuestionId();
-		if(StringUtils.isBlank(questionId)){
+	@PostMapping("/find_questions")
+	public ResponseEntity<Object> find(@RequestBody GetQuestionListReq req) {
+		Set<String> questionIds = req.getQuestionIds();
+		if(questionIds == null || questionIds.size()<1){
 			throw new StatusException("Q-011089", "questionId is null");
 		}
-		DefaultQuestion defaultQuestion = questionProviderService.findQuestion(questionId);
-		return new ResponseEntity<Object>(defaultQuestion,HttpStatus.OK);
+		List<DefaultQuestion> defaultQuestions = questionProviderService.findQuestions(questionIds);
+		return new ResponseEntity<Object>(defaultQuestions,HttpStatus.OK);
 	}
 }

+ 4 - 2
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/QuestionProviderService.java

@@ -2,8 +2,10 @@ package cn.com.qmth.examcloud.core.questions.service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.springframework.data.domain.Page;
+
 import cn.com.qmth.examcloud.question.core.question.DefaultQuestion;
 
 /**
@@ -37,10 +39,10 @@ public interface QuestionProviderService {
 	public String saveList(List<DefaultQuestion> defaultQuestions);
 	
 	/**
-	 * 查询试题对象
+	 * 查询试题对象集合
 	 * @param questionId
 	 * @return
 	 */
-	public DefaultQuestion findQuestion(String questionId);
+	public List<DefaultQuestion> findQuestions(Set<String> questionIds);
 	
 }

+ 11 - 6
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/QuestionProviderServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.UUID;
 import java.util.regex.Pattern;
 
@@ -528,12 +529,16 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
 	}
 
 	@Override
-	public DefaultQuestion findQuestion(String questionId) {
-		Question question = quesRepo.findOne(questionId);
-		if(question == null){
-			throw new StatusException("Q-012515", "question is null");
+	public List<DefaultQuestion> findQuestions(Set<String> questionIds) {
+		List<Question> questions = quesRepo.findByIdIn(questionIds);
+		if(questions == null || questions.size()<1){
+			throw new StatusException("Q-012515", "questions is null");
 		}
-		DefaultQuestion defaultQuestion = getDefaultQuestion(question);
-		return defaultQuestion;
+		List<DefaultQuestion> defaultQuestions = new ArrayList<DefaultQuestion>();
+		for(Question question:questions){
+			DefaultQuestion defaultQuestion = getDefaultQuestion(question);
+			defaultQuestions.add(defaultQuestion);
+		}
+		return defaultQuestions;
 	}
 }