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 | 119 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 59 insertions(+), 60 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 9dfd80f..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,60 +1,59 @@ -package com.yeshi.fanli.service.impl.taobao.dataoke; - -import java.util.ArrayList; -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.entity.taobao.dataoke.DaTaoKeDetail; -import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; -import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService; -import com.yeshi.fanli.util.taobao.DaTaoKeUtil; - -@Service -public class DaTaoKeGoodsServiceImpl implements DaTaoKeGoodsService { - - @Resource - private DaTaoKeDetailMapper daTaoKeDetailMapper; - - @Resource - private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; - - private List<DaTaoKeDetail> reSearchDetails(List<DaTaoKeDetail> list) { - List<Long> idList = new ArrayList<>(); - if (list != null) { - for (DaTaoKeDetail detail : list) { - idList.add(detail.getId()); - } - List<DaTaoKeDetail> detailList = daTaoKeGoodsDetailService.listByIds(idList); - return detailList; - } else - return null; - } - - @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); - } - - @Override - public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId,int count) { - return daTaoKeDetailMapper.getGoodsNotInList(cid, listId,count); - } - -} +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