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 | 120 ++++------------------------------------------------------- 1 files changed, 9 insertions(+), 111 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 c5499f4..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,132 +1,30 @@ package com.yeshi.fanli.service.impl.taobao.dataoke; -import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -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.dto.dataoke.DaTaoKeGoodsResult; -import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail; import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; -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 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); - } - - @Override - public List<DaTaoKeDetailV2> getSearchDiscoveryGoods(String keyWords){ - String key = "dataoke-goods-searchdiscovery-"+ keyWords; + 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) { + if (list == null || list.size() == 0) { DaTaoKeGoodsResult search = DaTaoKeApiUtil.search(keyWords, null, null, null, 1, 10, 0); if (search != null) { list = search.getGoodsList(); @@ -143,19 +41,19 @@ return 0; } }; - + Collections.sort(list, cm); - - if (list.size() > 3) + + 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