From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/recommend/HomeRecommendGoodsServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 57 insertions(+), 1 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/recommend/HomeRecommendGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/recommend/HomeRecommendGoodsServiceImpl.java index 2eb3ef9..6d7151d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/recommend/HomeRecommendGoodsServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/recommend/HomeRecommendGoodsServiceImpl.java @@ -4,6 +4,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import javax.annotation.Resource; @@ -13,14 +15,17 @@ import org.springframework.stereotype.Service; import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult; +import com.yeshi.fanli.entity.taobao.TLJBuyGoods; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.fanli.service.inter.goods.recommend.HomeRecommendGoodsService; import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService; +import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @@ -36,6 +41,9 @@ @Resource private EhCacheCacheManager ehCacheCacheManager; + + @Resource + private TLJBuyGoodsService tljBuyGoodsService; @Override public List<TaoBaoGoodsBrief> listGoodsByPage(Long uid, String device, String imei, String idfa, int page) { @@ -162,7 +170,16 @@ if (fList != null && fList.size() > 0) return fList; - DaTaoKeGoodsResult result = DaTaoKeApiUtil.getRankingList(type); + DaTaoKeGoodsResult result = null; + int count = 0; + while (result == null && count < 4) { + count++; + try { + result = DaTaoKeApiUtil.getRankingList(type, null); + } catch (Exception e) { + } + } + List<DaTaoKeDetailV2> list = result.getGoodsList(); List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); if (list != null) @@ -220,4 +237,43 @@ return null; } + @Override + public List<TLJBuyGoods> getZiGouLiJianHotGoods(String device) { + + String name = "recommendUserCache"; + String key = "getZiGouLiJianHotGoods-" + StringUtil.Md5(device); + List<TLJBuyGoods> fList = getCacheObjList(name, key, TLJBuyGoods.class); + if (fList != null && fList.size() > 0) + return fList; + + List<TLJBuyGoods> list = tljBuyGoodsService + .listByDay(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd")); + List<TaoBaoGoodsBrief> finalList = new ArrayList<>(); + Map<Long, TLJBuyGoods> map = new ConcurrentHashMap<>(); + if (list != null) + for (TLJBuyGoods goods : list) { + map.put(goods.getGoods().getAuctionId(), goods); + finalList.add(goods.getGoods()); + } + + finalList = recommendGoodsDeleteHistoryService.filterGoods(device, finalList); + + if (finalList != null && finalList.size() > 0) { + Collections.shuffle(finalList); + if (finalList.size() >= 3) + finalList = finalList.subList(0, 3); + list = new ArrayList<>(); + for (TaoBaoGoodsBrief goods : finalList) { + list.add(map.get(goods.getAuctionId())); + } + // 缂撳瓨 + if (list.size() > 0) { + saveObjList(list, name, key); + } + return list; + } + + return null; + } + } -- Gitblit v1.8.0