From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 23 五月 2020 09:54:38 +0800
Subject: [PATCH] 足迹、收藏订单兼容新需求

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java |   70 +++++++++++++++++------------------
 1 files changed, 34 insertions(+), 36 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 d5361c6..f589fb8 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,61 +1,59 @@
 package com.yeshi.fanli.service.impl.taobao.dataoke;
 
-import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
 
-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.dto.dataoke.DaTaoKeGoodsResult;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
 import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
 import com.yeshi.fanli.util.RedisManager;
-import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
 
 @Service
 public class DaTaoKeGoodsServiceImpl implements DaTaoKeGoodsService {
-	@Resource
-	private DaTaoKeDetailMapper daTaoKeDetailMapper;
 
 	@Resource
 	private RedisManager redisManager;
 
 	@Override
-	public void startSyncGoods() {
-		// 鍒ゆ柇鏄惁鏈夋鍦ㄨ繘琛岀殑鏇存柊
-		String key1 = "dataoke-updating";
-		if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key1)))
-			return;
+	public List<DaTaoKeDetailV2> getSearchDiscoveryGoods(String keyWords) {
+		String key = "dataoke-goods-searchdiscovery-" + keyWords;
+		List<DaTaoKeDetailV2> list = redisManager.getObjList(DaTaoKeDetailV2.class, key);
+		if (list == null || list.size() == 0) {
+			DaTaoKeGoodsResult search = DaTaoKeApiUtil.search(keyWords, null, null, null, 1, 10, 0);
+			if (search != null) {
+				list = search.getGoodsList();
+				if (list != null && list.size() > 0) {
+					Comparator<DaTaoKeDetailV2> cm = new Comparator<DaTaoKeDetailV2>() {
+						@Override
+						public int compare(DaTaoKeDetailV2 o1, DaTaoKeDetailV2 o2) {
+							int diff = o1.getHotPush() - o2.getHotPush();
+							if (diff > 0) {
+								return -1;
+							} else if (diff < 0) {
+								return 1;
+							}
+							return 0;
+						}
+					};
 
-		String key2 = "dataoke-update-time";
-		String updateTime = redisManager.getCommonString(key2);
-		if (!StringUtil.isNullOrEmpty(updateTime)) {
-			DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(1);
-			if (result.getUpdateTime().equalsIgnoreCase(updateTime)) {// 鍜屼笂娆℃洿鏂板湪鍚屼竴鏃堕棿
-				return;
+					Collections.sort(list, cm);
+
+					if (list.size() > 3)
+						list = list.subList(0, 3);
+
+					// 缂撳瓨 20鍒嗛挓
+					redisManager.saveObjList(list, key, 1000 * 60 * 20);
+				}
+				return list;
 			}
 		}
-
-		// 寮�濮嬫洿鏂�
-		redisManager.cacheCommonString(key1, "1");
-		List<DaTaoKeDetail> goodsList = new ArrayList<>();
-		for (int p = 1; p < 2000; p++) {
-			DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(p);
-			goodsList.addAll(result.getDetailList());
-			if (result.getDetailList().size() < 50)// 鏇存柊瀹屾垚
-			{
-				redisManager.removeCommonString(key1);
-				break;
-			}
-		}
-		
-		//
-		
-		
-
+		return list;
 	}
 
 }

--
Gitblit v1.8.0