From a9b7fab63c4345a6b183bffdab1bb0884f4202b5 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 22 八月 2019 15:22:19 +0800
Subject: [PATCH] Merge branch 'mater-1.6.0' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java |   67 ++++++++++++++++++++++++++++++++-
 1 files changed, 65 insertions(+), 2 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 6efbbe2..844f291 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
@@ -13,12 +13,16 @@
 
 import javax.annotation.Resource;
 
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.yeshi.fanli.dao.goods.taobao.dataoke.DaTaoKeGoodsDetailV2Dao;
 import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult;
+import com.yeshi.fanli.dto.dataoke.DingDongQiangDTO;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
 import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
@@ -211,9 +215,10 @@
 	}
 
 	@Override
-	public List<DaTaoKeDetailV2> listPreShareHotGoods(int page,BigDecimal minCommission) {
+	public List<DaTaoKeDetailV2> listPreShareHotGoods(int page, BigDecimal minCommission) {
 		Map<Long, DaTaoKeDetailV2> map = new HashMap<>();
-		List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Dao.listPreShareHotGoods((page - 1) * 100, 100, "hotPush",minCommission);
+		List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Dao.listPreShareHotGoods((page - 1) * 100, 100, "hotPush",
+				minCommission);
 		System.out.println(list);
 		for (DaTaoKeDetailV2 v2 : list) {
 			map.put(v2.getId(), v2);
@@ -303,4 +308,62 @@
 		daTaoKeGoodsDetailV2Dao.listAndRemoveByMinUpdateTime(minTime, 0, 3000);
 	}
 
+	@Override
+	public long countByMinUpdateTime(Date minTime) {
+		return daTaoKeGoodsDetailV2Dao.countByMinUpdateTime(minTime);
+	}
+
+	@Cacheable(value = "daTaoKeGoodsCache", key = "'getDingDongQiangData'")
+	@Override
+	public List<DingDongQiangDTO> getDingDongQiangData() {
+		List<DingDongQiangDTO> list = null;
+		int count = 0;
+		while ((list == null || list.size() == 0) && count < 3) {
+			count++;
+			list = DaTaoKeUtil.getDingDongQiang();
+		}
+		if (list == null)
+			return null;
+		return list;
+	}
+
+	@Async
+	private void updateGoods(Long id) {
+		DaTaoKeDetailV2 v2 = DaTaoKeApiUtil.getGoodsDetail(id);
+		if (v2 != null)
+			daTaoKeGoodsDetailV2Dao.save(v2);
+	}
+
+	@Cacheable(value = "daTaoKeGoodsCache", key = "'getDingDongQiangData-'+#time")
+	@Override
+	public List<DaTaoKeDetailV2> getDingDongQiangData(String time) {
+		List<DingDongQiangDTO> list = getDingDongQiangData();
+		if (list == null)
+			return null;
+		Map<String, DingDongQiangDTO> map = new HashMap<>();
+		for (DingDongQiangDTO dto : list)
+			map.put(dto.getTime(), dto);
+
+		DingDongQiangDTO dto = map.get(time);
+		if (dto != null) {
+			List<Long> idList = new ArrayList<>();
+			for (DaTaoKeDetailV2 td : dto.getGoodsList())
+				idList.add(td.getId());
+			List<DaTaoKeDetailV2> finalList = listByIds(idList);
+			if (finalList.size() != idList.size()) {
+				for (Long id : idList)
+					updateGoods(id);
+				finalList = listByIds(idList);
+			}
+
+			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;
+	}
+
 }

--
Gitblit v1.8.0