From 652de4214ebe5efcf3abd30e68c83cb38beb2a23 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 22 六月 2020 16:44:09 +0800 Subject: [PATCH] 云发单-发圈调整 --- fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 98 insertions(+), 4 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java index ec1fa2b..8f1fb45 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java @@ -15,6 +15,7 @@ import org.springframework.stereotype.Repository; import com.yeshi.fanli.entity.dynamic.GoodsEvaluate; +import com.yeshi.fanli.entity.dynamic.GoodsEvaluate.EvaluateEnum; import com.yeshi.fanli.util.StringUtil; @Repository @@ -237,7 +238,7 @@ * @param key * @return */ - public List<GoodsEvaluate> queryExist(int goodsType, Long goodsId) { + public List<GoodsEvaluate> queryExist(int goodsType, String goodsId) { Query query = new Query(); List<Criteria> list = new ArrayList<Criteria>(); list.add(Criteria.where("dynamicType").is(1)); @@ -255,6 +256,33 @@ return mongoTemplate.find(query, GoodsEvaluate.class); } + + /** + * 鏌ヨ鏈夋晥 + * @param start + * @param count + * @param key + * @return + */ + public List<GoodsEvaluate> queryExistSingle(int goodsType, String goodsId) { + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("dynamicType").is(1)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("type").is("single")); + list.add(Criteria.where("imgList.goods.goodsId").is(goodsId)); + list.add(Criteria.where("imgList.goods.goodsType").is(goodsType)); + + 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 mongoTemplate.find(query, GoodsEvaluate.class); + } + /** * 鏌ヨ鏈夋晥 @@ -303,10 +331,12 @@ */ public List<GoodsEvaluate> listByStartTime(Date date) { List<Criteria> list = new ArrayList<Criteria>(); - list.add(Criteria.where("startTime").gt(new Date())); - list.add(Criteria.where("startTime").lte(date)); + list.add(Criteria.where("dynamicType").is(1)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("startTime").gt(date)); + list.add(Criteria.where("startTime").lte(new Date())); list.add(new Criteria().orOperator(Criteria.where("type").is("single"), - new Criteria().andOperator(Criteria.where("type").is("single")))); + new Criteria().andOperator(Criteria.where("type").is("activity")))); Query query = new Query(); if (list.size() > 0) { @@ -315,8 +345,72 @@ cas[i] = list.get(i); query.addCriteria(new Criteria().andOperator(cas)); } + query.with(new Sort(Sort.Direction.DESC,"startTime")); + return mongoTemplate.find(query, GoodsEvaluate.class); } + /** + * 鏌ヨ鏈夋晥-鍊掑簭 + * @param start + * @param count + * @param key + * @return + */ + public List<GoodsEvaluate> queryValidSortASC(int start, int count, EvaluateEnum tyepEnum, boolean sortDesc) { + Date now = new Date(); + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + + list.add(Criteria.where("type").is(tyepEnum.name())); + list.add(Criteria.where("dynamicType").is(1)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("startTime").lte(now)); + list.add(Criteria.where("endTime").gte(now)); + + 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.skip(start).limit(count); + + if (sortDesc) { + query.with(new Sort(Sort.Direction.DESC,"startTime")); + } else { + query.with(new Sort(Sort.Direction.ASC,"startTime")); + } + + return mongoTemplate.find(query, GoodsEvaluate.class); + } + + /** + * 鏌ヨ鏈夋晥 + * @param start + * @param count + * @param key + * @return + */ + public List<GoodsEvaluate> queryExistLimitTime(int goodsType, String goodsId, Date limitTime) { + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("dynamicType").is(1)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("goods.goodsId").is(goodsId)); + list.add(Criteria.where("goods.goodsType").is(goodsType)); + // 闄愬埗鏃堕棿鍐� + list.add(Criteria.where("startTime").gte(limitTime)); + + 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 mongoTemplate.find(query, GoodsEvaluate.class); + } + } -- Gitblit v1.8.0