| | |
| | | package com.yeshi.fanli.dao.user.cloud;
|
| | |
|
| | | import java.util.List;
|
| | |
|
| | | 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.fanli.entity.bus.user.cloud.UserCloudSendRecord;
|
| | |
|
| | | @Repository
|
| | | public class UserCloudSendRecordDao extends MongodbBaseDao<UserCloudSendRecord> {
|
| | |
|
| | | /**
|
| | | * 查询已发送id
|
| | | * @param uid
|
| | | * @param sendId
|
| | | * @param sendOrigin
|
| | | * @return
|
| | | */
|
| | | public List<UserCloudSendRecord> listByUidAndSendId(Long uid, String sendId, String sendOrigin){
|
| | | Query query = new Query();
|
| | | query.addCriteria(Criteria.where("uid").is(uid));
|
| | | query.addCriteria(Criteria.where("sendId").is(sendId));
|
| | | query.addCriteria(Criteria.where("sendOrigin").is(sendOrigin));
|
| | | return findList(query);
|
| | | }
|
| | | |
| | | }
|
| | | 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.common.MongodbBaseDao; |
| | | import com.yeshi.fanli.entity.bus.user.cloud.UserCloudSendRecord; |
| | | import com.yeshi.fanli.util.StringUtil; |
| | | |
| | | @Repository |
| | | public class UserCloudSendRecordDao extends MongodbBaseDao<UserCloudSendRecord> { |
| | | |
| | | /** |
| | | * 查询已发送id |
| | | * @param uid |
| | | * @param sendId |
| | | * @param sendOrigin |
| | | * @return |
| | | */ |
| | | public List<UserCloudSendRecord> listByUidAndSendId(Long uid, String sendId){ |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("uid").is(uid)); |
| | | query.addCriteria(Criteria.where("sendId").is(sendId)); |
| | | query.addCriteria(Criteria.where("sendOrigin").is(UserCloudSendRecord.ORIGIN_EVALUATE)); |
| | | return findList(query); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询已发送id |
| | | * @param uid |
| | | * @param sendId |
| | | * @param sendOrigin |
| | | * @return |
| | | */ |
| | | public List<UserCloudSendRecord> getLastByUid(Long uid, Date lastTime){ |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("uid").is(uid)); |
| | | query.addCriteria(Criteria.where("sendWay").is(UserCloudSendRecord.SEND_WAY_AUTO)); |
| | | query.addCriteria(Criteria.where("sendOrigin").is(UserCloudSendRecord.ORIGIN_EVALUATE)); |
| | | query.addCriteria(Criteria.where("sendTime").gt(lastTime)); |
| | | query.with(new Sort(Sort.Direction.ASC,"sendTime")); |
| | | |
| | | 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); |
| | | } |
| | | } |