From d2c88e6ba5780393715898ec15477526330555fe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 08 五月 2019 11:21:57 +0800
Subject: [PATCH] 热销商品

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java |   77 ++++++++++++++------------------------
 1 files changed, 28 insertions(+), 49 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java
index c40d309..3158ab7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java
@@ -1,72 +1,51 @@
 package com.yeshi.fanli.service.impl.taobao.dataoke;
 
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
 
 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.entity.taobao.dataoke.DaTaoKeDetail;
-import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
 import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
-import com.yeshi.fanli.util.RedisManager;
-import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
+import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
 
 @Service
 public class DaTaoKeGoodsServiceImpl implements DaTaoKeGoodsService {
-	@Resource
-	private DaTaoKeDetailMapper daTaoKeDetailMapper;
 
 	@Resource
-	private RedisManager redisManager;
+	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
 
-	@Override
-	public void startSyncGoods() {
-		// 鍒ゆ柇鏄惁鏈夋鍦ㄨ繘琛岀殑鏇存柊
-		String key1 = "dataoke-updating";
-		// if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key1)))
-		// return;
-
-		// 寮�濮嬫洿鏂�
-		redisManager.cacheCommonString(key1, "1", 60 * 20);
-		long firstTime = System.currentTimeMillis() - 1000 * 60 * 5L;
-		int totalCount = 0;
-		for (int p = 1; p <= 2000; p++) {// 10W鏁版嵁
-			DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(p);
-			if (result.getDetailList().size() < 50)// 鏇存柊瀹屾垚
-			{
-				redisManager.removeCommonString(key1);
-				break;
+	private List<DaTaoKeDetail> reSearchDetails(List<DaTaoKeDetail> list) {
+		List<Long> idList = new ArrayList<>();
+		if (list != null) {
+			for (DaTaoKeDetail detail : list) {
+				idList.add(detail.getId());
 			}
-			addGoodsList(result.getDetailList());
-			totalCount += result.getDetailList().size();
-		}
-
-		LogHelper.test("澶ф窐瀹㈡�诲叡鏇存柊鏁版嵁鏁伴噺:" + totalCount);
-		// 娓呴櫎杩囨湡鏁版嵁
-		if (totalCount > 50000)// 淇濊瘉鏈�5w鏁版嵁鍐嶆竻闄よ繃鏈�
-		{
-			daTaoKeDetailMapper.deleteByMinUpdateTime(firstTime);
-			LogHelper.test("鍒犻櫎澶ф窐瀹㈣繃鏈熸暟鎹�:" + totalCount);
-		}
+			List<DaTaoKeDetail> detailList = daTaoKeGoodsDetailService.listByIds(idList);
+			return detailList;
+		} else
+			return null;
 	}
 
-	@Transactional
-	private void addGoodsList(List<DaTaoKeDetail> goodsList) {
-		List<Long> idList = new ArrayList<>();
-		for (DaTaoKeDetail goods : goodsList) {
-			goods.setUpdateTime(new Date());
-			idList.add(goods.getId());
-		}
-		// 鎵归噺鍒犻櫎
-		daTaoKeDetailMapper.deleteByIdList(idList);
-		// 鎵归噺鎻掑叆
-		daTaoKeDetailMapper.insertByBatch(goodsList);
+	@Override
+	public List<DaTaoKeDetail> getCurrentSalesRankGoodsList(Long cid) {
+		List<DaTaoKeDetail> list = DaTaoKeUtil.getCurrentSalesRank(cid);
+		return reSearchDetails(list);
+	}
+
+	@Override
+	public List<DaTaoKeDetail> getCurrentDaySalesRankGoodsList(Long cid) {
+		List<DaTaoKeDetail> list = DaTaoKeUtil.getCurrentDaySalesRank(cid);
+		return reSearchDetails(list);
+	}
+
+	@Override
+	public List<DaTaoKeDetail> getCurrentHotSalesRankGoodsList() {
+		List<DaTaoKeDetail> list = DaTaoKeUtil.getCurrentHotSalesRank();
+		return reSearchDetails(list);
 	}
 
 }

--
Gitblit v1.8.0