From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java |  179 +++++++++++++++++++----------------------------------------
 1 files changed, 59 insertions(+), 120 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 aa7ef9b..68a198b 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,120 +1,59 @@
-package com.yeshi.fanli.service.impl.taobao.dataoke;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-import com.yeshi.fanli.dao.mybatis.taobao.dataoke.DaTaoKeDetailMapper;
-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.taobao.DaTaoKeUtil;
-
-@Service
-public class DaTaoKeGoodsServiceImpl implements DaTaoKeGoodsService {
-
-	@Resource
-	private DaTaoKeDetailMapper daTaoKeDetailMapper;
-
-	@Resource
-	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
-
-	@Resource
-	private RedisManager redisManager;
-
-	private List<DaTaoKeDetail> reSearchDetails(List<DaTaoKeDetail> list) {
-		Map<Long, DaTaoKeDetail> map = new HashMap<>();
-		List<Long> idList = new ArrayList<>();
-		if (list != null) {
-			for (DaTaoKeDetail detail : list) {
-				idList.add(detail.getId());
-				map.put(detail.getId(), detail);
-			}
-			List<DaTaoKeDetail> detailList = daTaoKeGoodsDetailService.listByIds(idList);
-			if (detailList != null)
-				for (DaTaoKeDetail dk : detailList) {
-					dk.setUpdateTime(new Date());// 澧炲姞鏇存柊鏃堕棿
-					dk.setSalesNum(map.get(dk.getId()).getSalesNum());// 鏇存敼閿�閲�);
-				}
-			return detailList;
-		} else
-			return null;
-	}
-
-	@Override
-	public List<DaTaoKeDetail> getCurrentSalesRankGoodsList(Integer cid) {
-		// 缂撳瓨
-		String key = "dataoke-goods-shishirexiao-" + cid;
-		List<DaTaoKeDetail> list = redisManager.getObjList(DaTaoKeDetail.class, key);
-		if ((list != null && list.size() > 0
-				&& System.currentTimeMillis() - list.get(0).getUpdateTime().getTime() > 1000 * 60 * 20) || list == null
-				|| list.size() == 0)// 瓒呰繃20鍒嗛挓鏈洿鏂�
-		{
-			list = DaTaoKeUtil.getCurrentSalesRank(cid);
-			list = reSearchDetails(list);
-			if (list != null && list.size() > 0)
-				redisManager.saveObjList(list, key, null);// 闀挎湡缂撳瓨
-			return list;
-		} else
-			return list;
-
-	}
-
-	@Override
-	public List<DaTaoKeDetail> getCurrentDaySalesRankGoodsList(Integer cid) {
-
-		// 缂撳瓨
-		String key = "dataoke-goods-jinrirexiao-" + cid;
-		List<DaTaoKeDetail> list = redisManager.getObjList(DaTaoKeDetail.class, key);
-		if ((list != null && list.size() > 0
-				&& System.currentTimeMillis() - list.get(0).getUpdateTime().getTime() > 1000 * 60 * 20) || list == null
-				|| list.size() == 0)// 瓒呰繃20鍒嗛挓鏈洿鏂�
-		{
-			list = DaTaoKeUtil.getCurrentDaySalesRank(cid);
-			list = reSearchDetails(list);
-			if (list != null && list.size() > 0)
-				redisManager.saveObjList(list, key, null);// 闀挎湡缂撳瓨
-			return list;
-		} else
-			return list;
-
-	}
-
-	@Override
-	public List<DaTaoKeDetail> getCurrentHotSalesRankGoodsList() {
-		// 缂撳瓨
-		String key = "dataoke-goods-rexiao";
-		List<DaTaoKeDetail> list = redisManager.getObjList(DaTaoKeDetail.class, key);
-		if ((list != null && list.size() > 0
-				&& System.currentTimeMillis() - list.get(0).getUpdateTime().getTime() > 1000 * 60 * 20) || list == null
-				|| list.size() == 0)// 瓒呰繃20鍒嗛挓鏈洿鏂�
-		{
-			list = DaTaoKeUtil.getCurrentHotSalesRank();
-			LogHelper.test("鐑攢鏁伴噺:" + list.size());
-			list = reSearchDetails(list);
-			if (list != null && list.size() > 0)
-				redisManager.saveObjList(list, key, null);// 闀挎湡缂撳瓨
-			return list;
-		} else
-			return list;
-	}
-
-	@Override
-	public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId, int count) {
-		return daTaoKeDetailMapper.getGoodsNotInList(cid, listId, count);
-	}
-
-	@Override
-	public List<DaTaoKeDetail> listBySellerId(long start, int count, Long sellerId){
-		return daTaoKeDetailMapper.listBySellerId(start, count, sellerId);
-	}
-	
-}
+package com.yeshi.fanli.service.impl.taobao.dataoke;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeGoodsResult;
+import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil;
+
+@Service
+public class DaTaoKeGoodsServiceImpl implements DaTaoKeGoodsService {
+
+	@Resource
+	private RedisManager redisManager;
+
+	@Override
+	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;
+						}
+					};
+
+					Collections.sort(list, cm);
+
+					if (list.size() > 3)
+						list = list.subList(0, 3);
+
+					// 缂撳瓨 20鍒嗛挓
+					redisManager.saveObjList(list, key, 1000 * 60 * 20);
+				}
+				return list;
+			}
+		}
+		return list;
+	}
+
+}

--
Gitblit v1.8.0