admin
2019-11-23 51a4ff5d777028d52a19c314a99f796334cb7b51
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/recommend/RecommendGoodsDeleteHistoryServiceImpl.java
@@ -1,14 +1,22 @@
package com.yeshi.fanli.service.impl.goods.recommend;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.annotation.Resource;
import org.springframework.cache.Cache;
import org.springframework.cache.ehcache.EhCacheCacheManager;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.goods.recommend.RecommendGoodsDeleteHistoryMapper;
import com.yeshi.fanli.entity.goods.recommend.RecommendGoodsDeleteHistory;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@Service
@@ -16,6 +24,8 @@
   @Resource
   private RecommendGoodsDeleteHistoryMapper recommendGoodsDeleteHistoryMapper;
   @Resource
   private EhCacheCacheManager ehCacheCacheManager;
   @Override
   public void addRecommendGoodsDeleteHistory(RecommendGoodsDeleteHistory history) {
@@ -25,6 +35,46 @@
      if (history.getCreateTime() == null)
         history.setCreateTime(new Date());
      recommendGoodsDeleteHistoryMapper.insertSelective(history);
      try {
         // 清除个人推荐的缓存
         Cache cache = ehCacheCacheManager.getCache("recommendUserCache");
         cache.clear();
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
   @Override
   public List<TaoBaoGoodsBrief> filterGoods(String device, List<TaoBaoGoodsBrief> goodsList) {
      List<TaoBaoGoodsBrief> resultList = new ArrayList<>();
      if (goodsList == null || goodsList.size() == 0)
         return goodsList;
      Map<Long, TaoBaoGoodsBrief> resultMap = new ConcurrentHashMap<>();
      List<RecommendGoodsDeleteHistory> hlist = new ArrayList<>();
      for (TaoBaoGoodsBrief goods : goodsList) {
         hlist.add(new RecommendGoodsDeleteHistory(goods.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO));
         resultMap.put(goods.getAuctionId(), goods);
      }
      List<RecommendGoodsDeleteHistory> existList = recommendGoodsDeleteHistoryMapper.listByGoodsInfo(device, hlist);
      if (existList != null)
         for (RecommendGoodsDeleteHistory dh : existList)
            resultMap.remove(dh.getGoodsId());
      for (TaoBaoGoodsBrief goods : goodsList) {
         if (resultMap.get(goods.getAuctionId()) != null)
            resultList.add(resultMap.get(goods.getAuctionId()));
      }
      return resultList;
   }
   @Override
   public List<RecommendGoodsDeleteHistory> listBackStage(long start, int count, String key) {
      return recommendGoodsDeleteHistoryMapper.listBackStage(start, count, key);
   }
   @Override
   public long countBackStage(String key) {
      return recommendGoodsDeleteHistoryMapper.countBackStage(key);
   }
}