|
@@ -2,6 +2,7 @@ package com.qmth.cqb.question.service.impl;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.Set;
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
|
|
import org.apache.commons.lang3.StringEscapeUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -244,7 +245,7 @@ public class QuesServiceImpl implements QuesService{
|
|
|
* @param pageSize
|
|
|
* @return
|
|
|
*/
|
|
|
- public Page<Question> findByIdExclude(Set<String> idSet,String courseNo,QuesStructType quesType,int curPage,int pageSize,Long orgId) {
|
|
|
+ public Page<Question> findByIdExclude(Set<String> idSet,String courseNo,QuesStructType quesType,int curPage,int pageSize,Long orgId,String quesBody) {
|
|
|
Query query = new Query();
|
|
|
if(quesType!=null){
|
|
|
query.addCriteria(Criteria.where("questionType").is(quesType));
|
|
@@ -252,8 +253,13 @@ public class QuesServiceImpl implements QuesService{
|
|
|
query.addCriteria(Criteria.where("orgId").is(orgId+""));
|
|
|
query.addCriteria(Criteria.where("course.code").is(courseNo));
|
|
|
query.addCriteria(Criteria.where("id").nin(idSet));
|
|
|
+ //模糊匹配
|
|
|
+ if(StringUtils.isNotBlank(quesBody)){
|
|
|
+ Pattern pattern = Pattern.compile("^.*"+quesBody+".*$", Pattern.CASE_INSENSITIVE);
|
|
|
+ query.addCriteria(Criteria.where("quesBody").regex(pattern));
|
|
|
+ }
|
|
|
long total = this.mongoTemplate.count(query, Question.class);
|
|
|
- query.with(new Sort(new Order(Direction.DESC,"createTime")));
|
|
|
+ query.with(new Sort(new Order(Direction.DESC,"id")));
|
|
|
query.limit(pageSize);
|
|
|
query.skip((curPage - 1) * pageSize);
|
|
|
List<Question> questionList = this.mongoTemplate.find(query,Question.class);
|