Sfoglia il codice sorgente

优化索引查询

宋悦 7 anni fa
parent
commit
e50195d62a

+ 7 - 7
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/PaperServiceImpl.java

@@ -153,7 +153,9 @@ public class PaperServiceImpl implements PaperService{
      */
     public Page<Paper> getImportPapers(PaperSearchInfo paperSearchInfo, int curPage, int pageSize) {
         Query query = new Query();
+        query.addCriteria(Criteria.where("orgId").is(paperSearchInfo.getOrgId()));
         query.addCriteria(Criteria.where("paperType").is(PaperType.IMPORT));
+        query.addCriteria(Criteria.where("course.enable").is("true"));
         if(StringUtils.isNotBlank(paperSearchInfo.getCourseNo())){
         	query.addCriteria(Criteria.where("course.code").is(paperSearchInfo.getCourseNo()));
         }
@@ -163,8 +165,6 @@ public class PaperServiceImpl implements PaperService{
         if(StringUtils.isNotBlank(paperSearchInfo.getLevel())){
         	query.addCriteria(Criteria.where("course.level").is(paperSearchInfo.getLevel()));
         }
-        query.addCriteria(Criteria.where("course.enable").is("true"));
-        query.addCriteria(Criteria.where("orgId").is(paperSearchInfo.getOrgId()));
         long count = this.mongoTemplate.count(query, Paper.class);
         query.with(new Sort(new Order(Direction.DESC,"createTime")));
         query.limit(pageSize);
@@ -183,17 +183,17 @@ public class PaperServiceImpl implements PaperService{
      */
     public Page<Paper> getImportPapersNotSuccess(PaperSearchInfo paperSearchInfo, int curPage, int pageSize) {
         Query query = new Query();
+        query.addCriteria(Criteria.where("orgId").is(paperSearchInfo.getOrgId()));
+        query.addCriteria(Criteria.where("paperType").is(PaperType.IMPORT));
+        query.addCriteria(Criteria.where("course.enable").is("true"));
         if (paperSearchInfo.getPaperStatus() != null) {
             query.addCriteria(Criteria.where("paperStatus").is(paperSearchInfo.getPaperStatus()));
         } else {
             query.addCriteria(Criteria.where("paperStatus").ne(PaperStatus.PASS));
         }
-        query.addCriteria(Criteria.where("paperType").is(PaperType.IMPORT));
-        query.addCriteria(Criteria.where("orgId").is(paperSearchInfo.getOrgId()));
         if (StringUtil.isNotBlank(paperSearchInfo.getCourseNo())) {
             query.addCriteria(Criteria.where("course.code").is(paperSearchInfo.getCourseNo()));
         }
-        query.addCriteria(Criteria.where("course.enable").is("true"));
         long totalNumber = this.mongoTemplate.count(query, Paper.class);
         query.limit(pageSize);
         query.skip((curPage - 1) * pageSize);
@@ -269,15 +269,15 @@ public class PaperServiceImpl implements PaperService{
      */
     public Page<Paper> getGenPapers(PaperSearchInfo paperSearchInfo, int curPage, int pageSize) {
         Query query = new Query();
+        query.addCriteria(Criteria.where("orgId").is(paperSearchInfo.getOrgId()));
         query.addCriteria(Criteria.where("paperType").is(PaperType.GENERATE.name()));
+        query.addCriteria(Criteria.where("course.enable").is("true"));
         if(StringUtils.isNotBlank(paperSearchInfo.getCourseNo())){
         	query.addCriteria(Criteria.where("course.code").is(paperSearchInfo.getCourseNo()));
         }
         if(StringUtils.isNotBlank(paperSearchInfo.getLevel())){
         	query.addCriteria(Criteria.where("course.level").is(paperSearchInfo.getLevel()));
         }
-        query.addCriteria(Criteria.where("course.enable").is("true"));
-        query.addCriteria(Criteria.where("orgId").is(paperSearchInfo.getOrgId()));
         long count = this.mongoTemplate.count(query, Paper.class);
         query.with(new Sort(new Order(Direction.DESC,"createTime")));
         query.limit(pageSize);

+ 3 - 3
cqb-question-resource/src/main/java/com/qmth/cqb/question/service/impl/QuesServiceImpl.java

@@ -190,6 +190,7 @@ public class QuesServiceImpl implements QuesService{
         formatQuesCondition(searchCondition);
         Query query = new Query();
         query.addCriteria(Criteria.where("orgId").is(searchCondition.getOrgId()));
+        query.addCriteria(Criteria.where("course.enable").is("true"));
         if(StringUtils.isNotBlank(searchCondition.getCourseNo())){
             query.addCriteria(Criteria.where("course.code").is(searchCondition.getCourseNo()));
         }
@@ -199,8 +200,6 @@ public class QuesServiceImpl implements QuesService{
         if(searchCondition.getQuestionType() != null){
             query.addCriteria(Criteria.where("questionType").is(searchCondition.getQuestionType()));
         }
-        query.addCriteria(Criteria.where("course.enable").is("true"));
-
         long count = this.mongoTemplate.count(query, Question.class);
 //        query.with(new Sort(new Sort.Order(Sort.Direction.DESC,"createTime")));
         query.limit(pageSize);
@@ -234,10 +233,11 @@ public class QuesServiceImpl implements QuesService{
      */
     public Page<Question> findByIdExclude(Set<String> idSet,String courseNo,QuesStructType quesType,int curPage,int pageSize,Long orgId,String quesBody) {
         Query query = new Query();
+        query.addCriteria(Criteria.where("orgId").is(orgId+""));
+        query.addCriteria(Criteria.where("course.enable").is("true"));
         if(quesType!=null){
         	query.addCriteria(Criteria.where("questionType").is(quesType));
         }
-        query.addCriteria(Criteria.where("orgId").is(orgId+""));
         query.addCriteria(Criteria.where("course.code").is(courseNo));
         query.addCriteria(Criteria.where("id").nin(idSet));
         //模糊匹配