From b457131dda80427bbd47b05b9ad27366cafa1718 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 30 六月 2020 11:37:48 +0800
Subject: [PATCH] 首单 + 发单日志记录
---
fanli/src/main/java/com/yeshi/fanli/dao/user/cloud/UserCloudSendRecordDao.java | 99 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 97 insertions(+), 2 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..333ee7e 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,13 +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.fanli.entity.bus.user.cloud.UserCloudSendRecord;
+import com.yeshi.fanli.util.StringUtil;
@Repository
public class UserCloudSendRecordDao extends MongodbBaseDao<UserCloudSendRecord> {
@@ -19,12 +24,102 @@
* @param sendOrigin
* @return
*/
- public List<UserCloudSendRecord> listByUidAndSendId(Long uid, String sendId, String sendOrigin){
+ 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(sendOrigin));
+ 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