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