From 3ac89536ba5f95cc31f510b8a63b23d8d6e745fd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 01 十二月 2020 13:46:59 +0800
Subject: [PATCH] Mapper测试通过

---
 service-lucky/src/main/java/com/ks/lucky/dao/LuckySponsorAdDao.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 4 deletions(-)

diff --git a/service-lucky/src/main/java/com/ks/lucky/dao/LuckySponsorAdDao.java b/service-lucky/src/main/java/com/ks/lucky/dao/LuckySponsorAdDao.java
index 47de3e3..aec747f 100644
--- a/service-lucky/src/main/java/com/ks/lucky/dao/LuckySponsorAdDao.java
+++ b/service-lucky/src/main/java/com/ks/lucky/dao/LuckySponsorAdDao.java
@@ -3,11 +3,15 @@
 import com.ks.lib.common.dao.MongodbBaseDao;
 import com.ks.lucky.pojo.DO.LuckySponsorAd;
 import com.ks.lucky.query.LuckySponsorAdQuery;
+import com.ks.lucky.util.MongoDBQueryUtil;
+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.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -39,17 +43,62 @@
         update(query, update);
     }
 
-    public List<LuckySponsorAd> list(LuckySponsorAdQuery query) {
+    private Criteria[] getWheres(LuckySponsorAdQuery query) {
+        List<Criteria> andWhere = new ArrayList<>();
+        if (query.type != null) {
+            andWhere.add(Criteria.where("adType").is(query.type));
+        }
+        if (query.sponsorId != null) {
+            andWhere.add(Criteria.where("sponsorId").is(query.sponsorId));
+        }
 
-        return null;
+        if (query.key != null) {
+            andWhere.add(Criteria.where("sponsorId").regex(query.key));
+        }
+
+        if (query.minCreateTime != null) {
+            andWhere.add(Criteria.where("createTime").gte(query.minCreateTime));
+        }
+
+        if (query.maxCreateTime != null) {
+            andWhere.add(Criteria.where("createTime").lt(query.maxCreateTime));
+        }
+
+
+        Criteria[] wheres = new Criteria[andWhere.size()];
+        andWhere.toArray(wheres);
+        return wheres;
+    }
+
+    public List<LuckySponsorAd> list(LuckySponsorAdQuery query) {
+        Query dbQuery = new Query();
+        dbQuery.addCriteria(new Criteria().andOperator(getWheres(query)));
+        dbQuery.skip(query.start);
+        dbQuery.limit(query.count);
+
+        if (query.sortList != null && query.sortList.size() > 0) {
+            dbQuery.with(Sort.by(MongoDBQueryUtil.convertSQLSort(query.sortList)));
+        }
+
+        return findList(dbQuery);
     }
 
     public long count(LuckySponsorAdQuery query) {
-        return 0;
+        Query dbQuery = new Query();
+        dbQuery.addCriteria(new Criteria().andOperator(getWheres(query)));
+        return count(dbQuery);
     }
 
 
     public List<LuckySponsorAd> list(List<String> ids) {
-        return null;
+        List<Criteria> andWhere = new ArrayList<>();
+        for (String id : ids) {
+            andWhere.add(Criteria.where("id").is(id));
+        }
+        Criteria[] wheres = new Criteria[andWhere.size()];
+        andWhere.toArray(wheres);
+        Query dbQuery = new Query();
+        dbQuery.addCriteria(new Criteria().orOperator(wheres));
+        return findList(dbQuery);
     }
 }

--
Gitblit v1.8.0