From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 23 一月 2024 17:17:55 +0800 Subject: [PATCH] 抖音转链修改 --- fanli/src/main/java/com/yeshi/fanli/dao/user/cloud/UserCloudSendRecordDao.java | 155 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 125 insertions(+), 30 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 0de5f4e..4db4da0 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,30 +1,125 @@ -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> { - - /** - * 鏌ヨ宸插彂閫乮d - * @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> { + + /** + * 鏌ヨ宸插彂閫乮d + * @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); + } + + + /** + * 鏌ヨ宸插彂閫乮d + * @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); + } +} -- Gitblit v1.8.0