From dc5be7d38446f70e6ff86df311119c32b41fe7f8 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 28 十一月 2020 16:37:05 +0800 Subject: [PATCH] 大淘客搜索接口升级 --- fanli/src/main/java/com/yeshi/fanli/dao/user/cloud/UserCloudSendRecordDao.java | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 1 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/user/cloud/UserCloudSendRecordDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/user/cloud/UserCloudSendRecordDao.java index 3b1a4fc..ab37305 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/user/cloud/UserCloudSendRecordDao.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/user/cloud/UserCloudSendRecordDao.java @@ -1,15 +1,18 @@ package com.yeshi.fanli.dao.user.cloud; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.regex.Pattern; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Repository; -import com.yeshi.fanli.dao.MongodbBaseDao; +import com.yeshi.common.MongodbBaseDao; import com.yeshi.fanli.entity.bus.user.cloud.UserCloudSendRecord; +import com.yeshi.fanli.util.StringUtil; @Repository public class UserCloudSendRecordDao extends MongodbBaseDao<UserCloudSendRecord> { @@ -47,4 +50,76 @@ return findList(query); } + + + /** + * 鏌ヨ + * @param start + * @param count + * @param key + * @param sendOrigin + * @return + */ + public List<UserCloudSendRecord> query(int start, int count, String key, Integer sendOrigin){ + List<Criteria> list = new ArrayList<Criteria>(); + if (sendOrigin != null) + list.add(Criteria.where("sendOrigin").is(sendOrigin)); + + if (!StringUtil.isNullOrEmpty(key)) { + list.add(new Criteria().orOperator( Criteria.where("uid") + .regex(Pattern.compile("^.*" + key + ".*$", + Pattern.CASE_INSENSITIVE)))); + } + + Query query = new Query(); + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + query.with(new Sort(Sort.Direction.DESC,"sendTime")); + query.skip(start).limit(count); + return findList(query); + } + + + public long count(String key, Integer sendOrigin){ + List<Criteria> list = new ArrayList<Criteria>(); + if (sendOrigin != null) + list.add(Criteria.where("sendOrigin").is(sendOrigin)); + + if (!StringUtil.isNullOrEmpty(key)) { + list.add(new Criteria().orOperator( Criteria.where("uid") + .regex(Pattern.compile("^.*" + key + ".*$", + Pattern.CASE_INSENSITIVE)))); + } + + Query query = new Query(); + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + return count(query); + } + + + public long countRecordNum(Long uid, Integer sendOrigin){ + List<Criteria> list = new ArrayList<Criteria>(); + if (uid != null) + list.add(Criteria.where("uid").is(uid)); + if (sendOrigin != null) + list.add(Criteria.where("sendOrigin").is(sendOrigin)); + + Query query = new Query(); + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + return count(query); + } } -- Gitblit v1.8.0