From 496c2842240eae09bb56e98e1fae71540a85befa Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 23 七月 2019 14:38:28 +0800
Subject: [PATCH] 大淘客叮咚呛数据缓存

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java
index ba24a9a..47bd6f4 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java
@@ -9,11 +9,13 @@
 
 import javax.annotation.Resource;
 
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.yeshi.fanli.dao.mybatis.taobao.dataoke.DaTaoKeDetailMapper;
 import com.yeshi.fanli.dto.dataoke.DaTaoKeApiResult;
+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.log.LogHelper;
@@ -151,4 +153,38 @@
 		return daTaoKeDetailMapper.countByCidAndMaxMinPrice(cid, maxPrice, null);
 	}
 
+	@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;
+	}
+
+	@Cacheable(value = "daTaoKeGoodsCache", key = "'getDingDongQiangData-'+#time")
+	@Override
+	public List<DaTaoKeDetail> 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 (DaTaoKeDetail td : dto.getGoodsList())
+				idList.add(td.getId());
+			return listByIds(idList);
+		}
+		return null;
+	}
+
 }

--
Gitblit v1.8.0