From bd885c7015446c6c0495d3299ef64068a4c9b30e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 16 十月 2024 15:00:34 +0800
Subject: [PATCH] CMQ改造为rabbitmq

---
 service-push/src/main/java/com/ks/push/dao/BPushTaskDao.java |   72 +++++++++++++++++++++++++++++++-----
 1 files changed, 62 insertions(+), 10 deletions(-)

diff --git a/service-push/src/main/java/com/ks/push/dao/BPushTaskDao.java b/service-push/src/main/java/com/ks/push/dao/BPushTaskDao.java
index 10b63f7..fdb5591 100644
--- a/service-push/src/main/java/com/ks/push/dao/BPushTaskDao.java
+++ b/service-push/src/main/java/com/ks/push/dao/BPushTaskDao.java
@@ -2,39 +2,91 @@
 
 import com.ks.push.pojo.DO.BPushTask;
 import com.ks.lib.common.dao.MongodbBaseDao;
+import com.ks.push.pojo.Query.BPushTaskQuery;
+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.data.mongodb.core.query.Update;
 import org.springframework.stereotype.Repository;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 @Repository
-public class BPushTaskDao extends MongodbBaseDao<BPushTask>{
+public class BPushTaskDao extends MongodbBaseDao<BPushTask> {
 
-  public void updateSelective(BPushTask bean) {
+    public void updateSelective(BPushTask bean) {
         Query query = new Query();
-        Update update=new Update();
+        Update update = new Update();
         query.addCriteria(Criteria.where("id").is(bean.getId()));
-        if(bean.getAppCode() != null) {
+        if (bean.getAppCode() != null) {
             update.set("appCode", bean.getAppCode());
         }
-        if(bean.getState() != null) {
+        if (bean.getState() != null) {
             update.set("state", bean.getState());
         }
-        if(bean.getStateDesc() != null) {
+        if (bean.getStateDesc() != null) {
             update.set("stateDesc", bean.getStateDesc());
         }
-        if(bean.getFilter() != null) {
+        if (bean.getFilter() != null) {
             update.set("filter", bean.getFilter());
         }
-        if(bean.getMessage() != null) {
+        if (bean.getMessage() != null) {
             update.set("message", bean.getMessage());
         }
-        if(bean.getCreateTime() != null) {
+        if (bean.getCreateTime() != null) {
             update.set("createTime", bean.getCreateTime());
         }
         update.set("updateTime", new Date());
         update(query, update);
-  }
+    }
+
+    private Query getQuery(BPushTaskQuery daoQuery) {
+        List<Criteria> andList = new ArrayList<>();
+        if (daoQuery.state != null) {
+            andList.add(Criteria.where("state").is(daoQuery.state));
+        }
+
+        if (daoQuery.appCode != null) {
+            andList.add(Criteria.where("appCode").is(daoQuery.appCode));
+        }
+
+        if (daoQuery.messageTitle != null) {
+            andList.add(Criteria.where("message.title").regex(daoQuery.messageTitle));
+        }
+
+        if (daoQuery.minStartPushTime != null) {
+            andList.add(Criteria.where("filter.startPushTime").gte(daoQuery.minStartPushTime));
+        }
+
+        if (daoQuery.maxStartPushTime != null) {
+            andList.add(Criteria.where("filter.startPushTime").lt(daoQuery.maxStartPushTime));
+        }
+
+
+        Query query = new Query();
+        if (andList.size() > 0) {
+            Criteria[] ands = new Criteria[andList.size()];
+            andList.toArray(ands);
+            query.addCriteria(new Criteria().andOperator(ands));
+        }
+        return query;
+    }
+
+
+    public List<BPushTask> list(BPushTaskQuery daoQuery, int start, int count) {
+        Query query = getQuery(daoQuery);
+        query.skip(start);
+        query.limit(count);
+        if (daoQuery.sortList != null) {
+            query.with(Sort.by(daoQuery.sortList));
+        }
+        return findList(query);
+    }
+
+    public long count(BPushTaskQuery daoQuery) {
+        Query query = getQuery(daoQuery);
+        return count(query);
+    }
 }

--
Gitblit v1.8.0