Quellcode durchsuchen

k12查询条件增加

weiwenhai vor 6 Jahren
Ursprung
Commit
eb393be0aa

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

@@ -78,7 +78,7 @@ public class DefaultQuesionController extends ControllerSupport {
 		if(rootOrgId == null){
 			throw new StatusException("Q-011079", "rootOrgId is null");
 		}
-		Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId, req.getProperties(), req.getCurPage(), req.getPageSize());
+		Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId,req.getProperties(),req.getQuestionType(),req.getCurPage(),req.getPageSize());
 		return new ResponseEntity<Object>(defaultQuestions,HttpStatus.OK);
 	}
 }

+ 3 - 1
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/QuestionCloudServiceProvider.java

@@ -10,6 +10,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import cn.com.qmth.examcloud.commons.base.exception.StatusException;
@@ -22,6 +23,7 @@ import cn.com.qmth.examcloud.core.questions.api.response.GetDefaultQuesionIdResp
 import cn.com.qmth.examcloud.core.questions.api.response.GetDefaultQuestionsResp;
 import cn.com.qmth.examcloud.core.questions.service.QuestionProviderService;
 import cn.com.qmth.examcloud.question.core.question.DefaultQuestion;
+import cn.com.qmth.examcloud.question.core.question.QuestionType;
 
 /**
  * @author 		weiwenhai
@@ -77,7 +79,7 @@ public class QuestionCloudServiceProvider implements QuestionCloudService{
 		if(rootOrgId == null){
 			throw new StatusException("Q-011058", "rootOrgId is null");
 		}
-		Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId, req.getProperties(), req.getCurPage(), req.getPageSize());
+		Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId,req.getProperties(),req.getQuestionType(),req.getCurPage(),req.getPageSize());
 		GetDefaultQuestionsResp resp = new GetDefaultQuestionsResp();
 		resp.setDefaultQuestions(defaultQuestions);
 		return resp;

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

@@ -6,6 +6,7 @@ import java.util.Map;
 import org.springframework.data.domain.Page;
 
 import cn.com.qmth.examcloud.question.core.question.DefaultQuestion;
+import cn.com.qmth.examcloud.question.core.question.QuestionType;
 
 /**
  * @author 		weiwenhai
@@ -28,7 +29,7 @@ public interface QuestionProviderService {
 	 * @param map
 	 * @return
 	 */
-	public Page<DefaultQuestion> findQustions(Long rootOrgId,Map<String, String> map,int curPage,int pageSize);
+	public Page<DefaultQuestion> findQustions(Long rootOrgId,Map<String, String> map,QuestionType questionType,int curPage,int pageSize);
 	
 	/**
 	 * 批量保存试题对象

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

@@ -215,10 +215,21 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
 	}
 
 	@Override
-	public Page<DefaultQuestion> findQustions(Long rootOrgId,Map<String, String> map,int curPage,int pageSize) {
+	public Page<DefaultQuestion> findQustions(Long rootOrgId,Map<String, String> map,QuestionType questionType,int curPage,int pageSize) {
 		Query query = new Query();
 		query.addCriteria(Criteria.where("orgId").is(rootOrgId.toString()));
 		query.addCriteria(Criteria.where("isolated").is(true));
+		if(questionType == QuestionType.SINGLE_CHOICE){
+			query.addCriteria(Criteria.where("questionType").is(QuesStructType.SINGLE_ANSWER_QUESTION));
+		}else if (questionType == QuestionType.MULTIPLE_CHOICE) {
+			query.addCriteria(Criteria.where("questionType").is(QuesStructType.MULTIPLE_ANSWER_QUESTION));
+		}else if (questionType == QuestionType.ESSAY) {
+			query.addCriteria(Criteria.where("questionType").is(QuesStructType.TEXT_ANSWER_QUESTION));
+		}else if (questionType == QuestionType.FILL_UP) {
+			query.addCriteria(Criteria.where("questionType").is(QuesStructType.FILL_BLANK_QUESTION));
+		}else if (questionType == QuestionType.TRUE_OR_FALSE) {
+			query.addCriteria(Criteria.where("questionType").is(QuesStructType.BOOL_ANSWER_QUESTION));
+		}
 		if(map != null && map.size()>0){
 			for(Map.Entry<String, String> entry:map.entrySet()){
 				 String la = entry.getValue();