From c83b95f2fdc84ec27febfcb35715d67efb4383da Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 30 八月 2019 19:25:04 +0800
Subject: [PATCH] 限时秒杀商品

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 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 87078e9..edc36eb 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
@@ -333,12 +333,32 @@
 			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);
@@ -372,8 +392,9 @@
 					detail.setCouponReceiveNum(detail.getCouponTotalNum());
 			}
 			return finalList;
+		} else {
+			return getDefaultDingDongQiang();
 		}
-		return null;
 	}
 
 	@Override

--
Gitblit v1.8.0