Bläddra i källkod

优化试题查询逻辑,处理掉word内容

gaoxing 8 år sedan
förälder
incheckning
36d43adfe9

+ 32 - 23
cqb-question-resource/src/main/java/com/qmth/cqb/question/service/QuesService.java

@@ -1,17 +1,18 @@
 package com.qmth.cqb.question.service;
 
-import com.qmth.cqb.question.dao.QuesRepo;
-import com.qmth.cqb.question.model.QuesOption;
-import com.qmth.cqb.question.model.Question;
-import com.qmth.cqb.question.model.QuestionSearchCondition;
+import java.util.List;
 
-import com.qmth.cqb.utils.BeanCopierUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Example;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Service;
-import java.util.List;
+
+import com.qmth.cqb.question.dao.QuesRepo;
+import com.qmth.cqb.question.model.QuesOption;
+import com.qmth.cqb.question.model.Question;
+import com.qmth.cqb.question.model.QuestionSearchCondition;
+import com.qmth.cqb.utils.BeanCopierUtil;
 
 /**
  * Created by songyue on 16/12/28.
@@ -24,17 +25,18 @@ public class QuesService {
 
     /**
      * 保存试题
+     * 
      * @param question
      */
-    public void saveQues(Question question){
+    public void saveQues(Question question) {
         Question saveQues = quesRepo.findOne(question.getId());
         saveQues.setQuesAnswer(question.getQuesAnswer());
         saveQues.setScore(question.getScore());
         saveQues.setQuesBody(question.getQuesBody());
-        if(question.getQuesOptions() != null && question.getQuesOptions().size() > 0){
+        if (question.getQuesOptions() != null && question.getQuesOptions().size() > 0) {
             List<QuesOption> quesOptions = question.getQuesOptions();
             List<QuesOption> saveQuesOptions = saveQues.getQuesOptions();
-            for(int i = 0;i < quesOptions.size();i++){
+            for (int i = 0; i < quesOptions.size(); i++) {
                 saveQuesOptions.get(i).setOptionBody(quesOptions.get(i).getOptionBody());
             }
         }
@@ -43,25 +45,28 @@ public class QuesService {
 
     /**
      * 查询所有试题
+     * 
      * @param searchCondition
      * @param curPage
      * @param pageSize
      * @return
      */
-    public Page<Question> findAll(QuestionSearchCondition searchCondition,
-                                  int curPage,
-                                  int pageSize){
-        Question ques = BeanCopierUtil.copyProperties(searchCondition,Question.class);
-        return quesRepo.findAll(Example.of(ques),new PageRequest(curPage - 1,pageSize));
+    public Page<Question> findAll(QuestionSearchCondition searchCondition, int curPage, int pageSize) {
+        Question ques = BeanCopierUtil.copyProperties(searchCondition, Question.class);
+        Page<Question> list = quesRepo.findAll(Example.of(ques), new PageRequest(curPage - 1, pageSize));
+        for (Question question : list) {
+            formatQues(question);
+        }
+        return list;
     }
 
-
     /**
      * 按ID获取试题
+     * 
      * @param id
      * @return
      */
-    public Question findById(String id){
+    public Question findById(String id) {
         Question question = quesRepo.findOne(id);
         formatQues(question);
         return question;
@@ -69,24 +74,28 @@ public class QuesService {
 
     /**
      * 去除试题中的word
+     * 
      * @param question
      */
-    public void formatQues(Question question){
+    public void formatQues(Question question) {
         formatQuesUnit(question);
-        if(question.getSubQuestions() != null && question.getSubQuestions().size() > 0){
-            question.getSubQuestions().stream().forEach(subQues->{
-                formatQuesUnit(subQues);});
+        if (question.getSubQuestions() != null && question.getSubQuestions().size() > 0) {
+            question.getSubQuestions().stream().forEach(subQues -> {
+                formatQuesUnit(subQues);
+            });
         }
     }
 
-    public void formatQuesUnit(Question question){
+    public void formatQuesUnit(Question question) {
         question.setQuesBodyWord(null);
         question.setQuesAnswerWord(null);
         question.setQuesAnswerAnalysisWord(null);
         question.setQuesPkg(new byte[0]);
-        if(question.getQuesOptions() != null && question.getQuesOptions().size() > 0){
+        if (question.getQuesOptions() != null && question.getQuesOptions().size() > 0) {
             question.getQuesOptions().stream().forEach(quesOption -> {
-                quesOption.setOptionBodyWord(null);});
+                quesOption.setOptionBodyWord(null);
+            });
         }
     }
+
 }