From 8c04d27e5cebb7e654c208533e9567c4df2c8acc Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 12 十二月 2019 14:21:44 +0800
Subject: [PATCH] 券时间限制

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java |   72 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 7 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java
index 8dd5f21..3343e36 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java
@@ -252,11 +252,23 @@
 	public List<DaTaoKeDetailV2> listPreTLJBuyGoods(int page) {
 		if (page == 1) {
 			List<DaTaoKeDetailV2> listPreGoodsList = new ArrayList<>();
+			// 鐑攢姒�
 			DaTaoKeGoodsResult result = DaTaoKeApiUtil.getRankingList(DaTaoKeApiUtil.RANK_TYPE_HOT, null);
 			if (result != null && result.getGoodsList() != null)
 				listPreGoodsList.addAll(result.getGoodsList());
-
+			// 澶嶈喘姒�
 			result = DaTaoKeApiUtil.getRankingList(DaTaoKeApiUtil.RANK_TYPE_REBUY, null);
+			if (result != null && result.getGoodsList() != null)
+				listPreGoodsList.addAll(result.getGoodsList());
+			// 缁煎悎鎼滅储
+			try {
+				result = DaTaoKeApiUtil.search("", null, null, null, 1, 200, DaTaoKeApiUtil.SORT_DEFAULT);
+				if (result == null)
+					throw new Exception();
+			} catch (Exception e) {// 寮傚父閲嶅涓�娆�
+				result = DaTaoKeApiUtil.search("", null, null, null, 1, 200, DaTaoKeApiUtil.SORT_DEFAULT);
+			}
+
 			if (result != null && result.getGoodsList() != null)
 				listPreGoodsList.addAll(result.getGoodsList());
 
@@ -328,17 +340,38 @@
 
 	@Async
 	private void updateGoods(Long id) {
-		DaTaoKeDetailV2 v2 = DaTaoKeApiUtil.getGoodsDetail(id);
+		// TODO鏆傛椂鍏抽棴鏈嶅姟
+		DaTaoKeDetailV2 v2 = null;// DaTaoKeApiUtil.getGoodsDetail(id);
 		if (v2 != null)
 			daTaoKeGoodsDetailV2Dao.save(v2);
+	}
+
+	private List<DaTaoKeDetailV2> getDefaultDingDongQiang() {
+		// 鎸夋洿鏂版椂闂村姞
+		DaTaoKeGoodsResult result = DaTaoKeApiUtil.getRankingList(DaTaoKeApiUtil.RANK_TYPE_TIME, null);
+		if (result != null && result.getGoodsList().size() > 0) {
+			List<DaTaoKeDetailV2> finalList = new ArrayList<>();
+			Collections.shuffle(result.getGoodsList());
+			finalList.addAll(result.getGoodsList().subList(0,
+					result.getGoodsList().size() > 8 ? 8 : result.getGoodsList().size()));
+			for (DaTaoKeDetailV2 detail : finalList) {
+				detail.setCouponReceiveNum(detail.getCouponTotalNum() - (int) (200 + Math.random() * 1000));
+				if (detail.getCouponTotalNum() - detail.getCouponReceiveNum() <= 0)
+					detail.setCouponReceiveNum(detail.getCouponTotalNum());
+			}
+			return finalList;
+		}
+		return null;
 	}
 
 	@Cacheable(value = "daTaoKeGoodsCache", key = "'getDingDongQiangData-'+#time")
 	@Override
 	public List<DaTaoKeDetailV2> getDingDongQiangData(String time) {
 		List<DingDongQiangDTO> list = getDingDongQiangData();
-		if (list == null)
-			return null;
+		if (list == null || list.size() == 0) {
+			return getDefaultDingDongQiang();
+		}
+
 		Map<String, DingDongQiangDTO> map = new HashMap<>();
 		for (DingDongQiangDTO dto : list)
 			map.put(dto.getTime(), dto);
@@ -350,9 +383,22 @@
 				idList.add(td.getId());
 			List<DaTaoKeDetailV2> finalList = listByIds(idList);
 			if (finalList.size() != idList.size()) {
-				for (Long id : idList)
-					updateGoods(id);
+				for (Long id : idList) {
+					// updateGoods(id);
+					// TODO 涓嶈兘寮傛璋冪敤
+				}
 				finalList = listByIds(idList);
+			}
+
+			// 濡傛灉鍟嗗搧鏁板皬浜�4锛岄渶瑕佸啀鍔犲晢鍝�
+			if (finalList == null || finalList.size() <= 3) {
+				// 鎸夋洿鏂版椂闂村姞
+				List<DaTaoKeDetailV2> latestList = daTaoKeGoodsDetailV2Dao.listPreShareHotGoods(0, 50, "updateTime",
+						new BigDecimal("0.5"));
+				if (latestList != null && latestList.size() > 0) {
+					Collections.shuffle(latestList);
+					finalList.addAll(latestList.subList(0, latestList.size() > 8 ? 8 : latestList.size()));
+				}
 			}
 
 			for (DaTaoKeDetailV2 detail : finalList) {
@@ -361,8 +407,9 @@
 					detail.setCouponReceiveNum(detail.getCouponTotalNum());
 			}
 			return finalList;
+		} else {
+			return getDefaultDingDongQiang();
 		}
-		return null;
 	}
 
 	@Override
@@ -375,4 +422,15 @@
 		return dateList;
 	}
 
+	@Override
+	public List<DaTaoKeDetailV2> listByMaxPrice(Integer cid, BigDecimal maxPrice,String sortName, int page, int count) {
+
+		return daTaoKeGoodsDetailV2Dao.listByMaxPrice(cid, maxPrice,sortName, (page - 1) * count, count);
+	}
+
+	@Override
+	public int countByMaxPrice(Integer cid, BigDecimal maxPrice) {
+		return (int) daTaoKeGoodsDetailV2Dao.countByMaxPrice(cid, maxPrice);
+	}
+
 }

--
Gitblit v1.8.0