From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java | 859 +++++++++++++++++++++++++++++--------------------------- 1 files changed, 446 insertions(+), 413 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 40ae84d..045d49f 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 @@ -8,6 +8,7 @@ import javax.annotation.Resource; import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; @@ -23,423 +24,455 @@ @Repository public class GoodsEvaluateDao { - @Resource - private MongoTemplate mongoTemplate; + @Resource + private MongoTemplate mongoTemplate; - /** - * 鏂板 - * - * @param record - */ - public void save(GoodsEvaluate record) { - if (record == null) { - return; - } - mongoTemplate.save(record); - } - - /** - * 鐘舵�佸垏鎹� - * @param id - * @param state - */ - public void updateSatate(String id, int state) { - Query query = new Query(); - query.addCriteria(Criteria.where("id").is(id)); - - Update update = Update.update("state", state); - mongoTemplate.updateMulti(query, update, GoodsEvaluate.class); - } - - - - /** - * 鍒犻櫎 - * @param record - */ - public void remove(GoodsEvaluate record) { - if (record == null) { - return; - } - mongoTemplate.remove(record); - } - - - - - /** - * 鏍规嵁id鏌ヨ鏁版嵁 - * - * @param id - * @return - */ - public GoodsEvaluate getById(String id) { - Query query = new Query(); - query.addCriteria(Criteria.where("id").is(id)); - return mongoTemplate.findOne(query, GoodsEvaluate.class); - } - - - /** - * 鍒犻櫎 - * - * @param id - * @return - */ - public void deleteById(String id) { - GoodsEvaluate info = getById(id); - if (info == null) { - return; - } - mongoTemplate.remove(info); - } - - /** - * 鏌ヨ - * - * @return - */ - public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum, SystemEnum system) { - Query query = new Query(); - List<Criteria> list = new ArrayList<Criteria>(); - list.add(Criteria.where("dynamicType").is(dynamicType)); - - if (state != null) { - list.add(Criteria.where("state").is(state)); - } - - if (!StringUtil.isNullOrEmpty(typeEnum)) - list.add(Criteria.where("type").is(typeEnum)); - - if(system!=null) - list.add(Criteria.where("system").is(system)); - - if (!StringUtil.isNullOrEmpty(key)) - list.add(new Criteria().orOperator( - Criteria.where("title").regex(Pattern.compile("^.*" + key + ".*$", Pattern.CASE_INSENSITIVE)))); - - 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); - query.with(new Sort(Sort.Direction.DESC,"weight")).with(new Sort(Sort.Direction.DESC,"createTime")); - return mongoTemplate.find(query, GoodsEvaluate.class); - } - - public long count(String key, Integer state, int dynamicType, String typeEnum, SystemEnum system) { - Query query = new Query(); - List<Criteria> list = new ArrayList<Criteria>(); - list.add(Criteria.where("dynamicType").is(dynamicType)); - - if (state != null) { - list.add(Criteria.where("state").is(state)); - } - - if(system!=null) - list.add(Criteria.where("system").is(system)); - - if (!StringUtil.isNullOrEmpty(typeEnum)) - list.add(Criteria.where("type").is(typeEnum)); - - if (!StringUtil.isNullOrEmpty(key)) - list.add(new Criteria().orOperator( - Criteria.where("title").regex(Pattern.compile("^.*" + key + ".*$", Pattern.CASE_INSENSITIVE)))); - - 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.count(query, GoodsEvaluate.class); - } - - /** - * 鏌ヨ鏈夋晥 - * @param start - * @param count - * @return - */ - public List<GoodsEvaluate> queryValid(int start, int count, int dynamicType,SystemEnum system) { - Date now = new Date(); - Query query = new Query(); - List<Criteria> list = new ArrayList<Criteria>(); - - list.add(Criteria.where("dynamicType").is(dynamicType)); - list.add(Criteria.where("state").is(1)); - list.add(Criteria.where("startTime").lte(now)); - list.add(Criteria.where("endTime").gte(now)); - if(system!=null) - list.add(Criteria.where("system").is(system)); - - 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); - query.with(new Sort(Sort.Direction.DESC,"weight")).with(new Sort(Sort.Direction.DESC,"startTime")); - return mongoTemplate.find(query, GoodsEvaluate.class); - } - - /** - * 缁熻鏈夋晥 - * @return - */ - public long countValid(int dynamicType,SystemEnum system) { - Date now = new Date(); - Query query = new Query(); - List<Criteria> list = new ArrayList<Criteria>(); - - list.add(Criteria.where("dynamicType").is(dynamicType)); - list.add(Criteria.where("state").is(1)); - list.add(Criteria.where("startTime").lte(now)); - list.add(Criteria.where("endTime").gte(now)); - if(system!=null) - list.add(Criteria.where("system").is(system)); - - 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.count(query, GoodsEvaluate.class); - } - - - /** - * 鏌ヨ鏈夋晥 - * @return - */ - public List<GoodsEvaluate> querySingleExist(SystemEnum system) { - 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.goodsType").is(1)); - if(system!=null) - list.add(Criteria.where("system").is(system)); - - 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); - } - - - /** - * 鏌ヨ鏈夋晥 - * @param goodsType - * @param goodsId - * @param system - * @return - */ - public List<GoodsEvaluate> queryExist(int goodsType, String goodsId,SystemEnum system) { - Query query = new Query(); - List<Criteria> list = new ArrayList<Criteria>(); - list.add(Criteria.where("dynamicType").is(1)); - list.add(Criteria.where("state").is(1)); - if(system!=null) - list.add(Criteria.where("system").is(system)); - 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); - } - - - /** - * 鏌ヨ鏈夋晥 - * @return - */ - public List<GoodsEvaluate> queryExistSingle(int goodsType, String goodsId,SystemEnum system) { - 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")); - if(system!=null) - list.add(Criteria.where("system").is(system)); - 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); - } - - - /** - * 鏌ヨ鏈夋晥 - * @return - */ - public List<GoodsEvaluate> queryOverdue() { - Date now = new Date(); - Query query = new Query(); - query.addCriteria(Criteria.where("endTime").lte(now)); - query.with(new Sort(Sort.Direction.ASC,"createTime")); - return mongoTemplate.find(query, GoodsEvaluate.class); - } - - - /** - * @return - */ - public List<GoodsEvaluate> removeDownGoods() { - Query query = new Query(); - List<Criteria> list = new ArrayList<Criteria>(); - list.add(Criteria.where("type").is("single")); - list.add(Criteria.where("goods.state").is(1)); - - 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); - } - - - /** - * 鏍规嵁璧峰鏃堕棿鏌ヨ - * @param date - * @return - */ - public List<GoodsEvaluate> listByStartTime(Date date) { - List<Criteria> list = new ArrayList<Criteria>(); - 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("activity")))); - - 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,"startTime")); - - return mongoTemplate.find(query, GoodsEvaluate.class); - } - - /** - * 鏌ヨ鏈夋晥-鍊掑簭 - * @param start - * @param count - * @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")); + /** + * 鏂板 + * + * @param record + */ + public void save(GoodsEvaluate record) { + if (record == null) { + return; } - - return mongoTemplate.find(query, GoodsEvaluate.class); - } + mongoTemplate.save(record); + } + + /** + * 鐘舵�佸垏鎹� + * + * @param id + * @param state + */ + public void updateSatate(String id, int state) { + Query query = new Query(); + query.addCriteria(Criteria.where("id").is(id)); + + Update update = Update.update("state", state); + mongoTemplate.updateMulti(query, update, GoodsEvaluate.class); + } - /** - * - * @param goodsType - * @param goodsId - * @param limitTime - * @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); - } - - - - public List<GoodsEvaluate> queryValidZeroPoint(int start, int count) { - // 浠婃棩22鐐瑰彂鍦� 锛�0鐐逛笅鍗� - Date now = new Date(); - Date startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(now) + " 22:00"); - - Query query = new Query(); - List<Criteria> list = new ArrayList<Criteria>(); - - list.add(Criteria.where("zeroPoint").is(1)); - list.add(Criteria.where("dynamicType").is(1)); - list.add(Criteria.where("state").is(1)); - list.add(Criteria.where("startTime").is(startTime)); - list.add(new Criteria().orOperator(Criteria.where("type").is("single"), - new Criteria().andOperator(Criteria.where("type").is("activity")))); - - 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)); - } + /** + * 鍒犻櫎 + * + * @param record + */ + public void remove(GoodsEvaluate record) { + if (record == null) { + return; + } + mongoTemplate.remove(record); + } + + + /** + * 鏍规嵁id鏌ヨ鏁版嵁 + * + * @param id + * @return + */ + public GoodsEvaluate getById(String id) { + Query query = new Query(); + query.addCriteria(Criteria.where("id").is(id)); + return mongoTemplate.findOne(query, GoodsEvaluate.class); + } + + + /** + * 鍒犻櫎 + * + * @param id + * @return + */ + public void deleteById(String id) { + GoodsEvaluate info = getById(id); + if (info == null) { + return; + } + mongoTemplate.remove(info); + } + + /** + * 鏌ヨ + * + * @return + */ + public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum, SystemEnum system) { + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("dynamicType").is(dynamicType)); + + if (state != null) { + list.add(Criteria.where("state").is(state)); + } + + if (!StringUtil.isNullOrEmpty(typeEnum)) + list.add(Criteria.where("type").is(typeEnum)); + + if (system != null) + list.add(Criteria.where("system").is(system)); + + if (!StringUtil.isNullOrEmpty(key)) + list.add(new Criteria().orOperator( + Criteria.where("title").regex(Pattern.compile("^.*" + key + ".*$", Pattern.CASE_INSENSITIVE)))); + + 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); - return mongoTemplate.find(query, GoodsEvaluate.class); - } + query.with(new Sort(Sort.Direction.DESC, "weight")).with(new Sort(Sort.Direction.DESC, "createTime")); + return mongoTemplate.find(query, GoodsEvaluate.class); + } + + public long count(String key, Integer state, int dynamicType, String typeEnum, SystemEnum system) { + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("dynamicType").is(dynamicType)); + + if (state != null) { + list.add(Criteria.where("state").is(state)); + } + + if (system != null) + list.add(Criteria.where("system").is(system)); + + if (!StringUtil.isNullOrEmpty(typeEnum)) + list.add(Criteria.where("type").is(typeEnum)); + + if (!StringUtil.isNullOrEmpty(key)) + list.add(new Criteria().orOperator( + Criteria.where("title").regex(Pattern.compile("^.*" + key + ".*$", Pattern.CASE_INSENSITIVE)))); + + 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.count(query, GoodsEvaluate.class); + } + + /** + * 鏌ヨ鏈夋晥 + * + * @param start + * @param count + * @return + */ + public List<GoodsEvaluate> queryValid(int start, int count, int dynamicType, SystemEnum system) { + Date now = new Date(); + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + + list.add(Criteria.where("dynamicType").is(dynamicType)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("startTime").lte(now)); + list.add(Criteria.where("endTime").gte(now)); + if (system != null) + list.add(Criteria.where("system").is(system)); + + 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); + query.with(new Sort(Sort.Direction.DESC, "weight")).with(new Sort(Sort.Direction.DESC, "startTime")); + return mongoTemplate.find(query, GoodsEvaluate.class); + } + + /** + * 缁熻鏈夋晥 + * + * @return + */ + public long countValid(int dynamicType, SystemEnum system) { + Date now = new Date(); + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + + list.add(Criteria.where("dynamicType").is(dynamicType)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("startTime").lte(now)); + list.add(Criteria.where("endTime").gte(now)); + if (system != null) + list.add(Criteria.where("system").is(system)); + + 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.count(query, GoodsEvaluate.class); + } + + + /** + * 鏌ヨ鏈夋晥 + * + * @return + */ + public List<GoodsEvaluate> querySingleExist(SystemEnum system) { + 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.goodsType").is(1)); + if (system != null) + list.add(Criteria.where("system").is(system)); + + 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); + } + + + /** + * 鏌ヨ鏈夋晥 + * + * @param goodsType + * @param goodsId + * @param system + * @return + */ + public List<GoodsEvaluate> queryExist(int goodsType, String goodsId, SystemEnum system) { + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("dynamicType").is(1)); + list.add(Criteria.where("state").is(1)); + if (system != null) + list.add(Criteria.where("system").is(system)); + list.add(TaoBaoUtil.getAuctionIdEqualCriteria( "imgList.goods.goodsId",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); + } + + + /** + * 鏌ヨ鏈夋晥 + * + * @return + */ + public List<GoodsEvaluate> queryExistSingle(int goodsType, String goodsId, SystemEnum system) { + 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")); + if (system != null) + list.add(Criteria.where("system").is(system)); + list.add(TaoBaoUtil.getAuctionIdEqualCriteria( "imgList.goods.goodsId",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); + } + + + /** + * 鏌ヨ鏈夋晥 + * + * @return + */ + public List<GoodsEvaluate> queryOverdue() { + Date now = new Date(); + Query query = new Query(); + query.addCriteria(Criteria.where("endTime").lte(now)); + query.with(new Sort(Sort.Direction.ASC, "createTime")); + return mongoTemplate.find(query, GoodsEvaluate.class); + } + + + /** + * @return + */ + public List<GoodsEvaluate> removeDownGoods() { + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("type").is("single")); + list.add(Criteria.where("goods.state").is(1)); + + 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); + } + + + /** + * 鏍规嵁璧峰鏃堕棿鏌ヨ + * + * @param date + * @return + */ + public List<GoodsEvaluate> listByStartTime(Date date) { + List<Criteria> list = new ArrayList<Criteria>(); + 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("activity")))); + + 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, "startTime")); + + return mongoTemplate.find(query, GoodsEvaluate.class); + } + + /** + * 鏌ヨ鏈夋晥-鍊掑簭 + * + * @param start + * @param count + * @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 goodsType + * @param goodsId + * @param limitTime + * @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(TaoBaoUtil.getAuctionIdEqualCriteria("goods.goodsId",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); + } + + + /** + * 鏌ヨ宸茬粡瀛樺湪鐨勬暟鎹� + * + * @param identifyCode + * @param limitTime + * @return + */ + public GoodsEvaluate selectExistLimitTime(String identifyCode, 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("identifyCode").is(identifyCode)); + + // 闄愬埗鏃堕棿鍐� + 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.findOne(query, GoodsEvaluate.class); + } + + + public List<GoodsEvaluate> queryValidZeroPoint(int start, int count) { + // 浠婃棩22鐐瑰彂鍦� 锛�0鐐逛笅鍗� + Date now = new Date(); + Date startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(now) + " 22:00"); + + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + + list.add(Criteria.where("zeroPoint").is(1)); + list.add(Criteria.where("dynamicType").is(1)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("startTime").is(startTime)); + list.add(new Criteria().orOperator(Criteria.where("type").is("single"), + new Criteria().andOperator(Criteria.where("type").is("activity")))); + + 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); + return mongoTemplate.find(query, GoodsEvaluate.class); + } } -- Gitblit v1.8.0