admin
2020-06-10 271ae63c20fcbe28d29c47f1881138ff6551a2a1
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/PDDCommonTemplateContentServiceImpl.java
@@ -1,23 +1,65 @@
package com.yeshi.fanli.service.impl.goods;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dto.common.CommonContentNav;
import com.yeshi.fanli.dto.common.PDDCommonContentTypeEnum;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
import com.yeshi.fanli.service.inter.goods.PDDCommonTemplateContentService;
import com.yeshi.fanli.service.inter.pdd.PDDGoodsService;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
@Service
public class PDDCommonTemplateContentServiceImpl implements PDDCommonTemplateContentService {
   @Resource
   private PDDGoodsService pddGoodsService;
   @Cacheable(value = "pddCommonContentCache", key = "#type+'-'+#cid+'-'+#page+'-'+#pageSize")
   @Override
   public PDDGoodsResult getContentList(PDDCommonContentTypeEnum type, String cid, int page, int pageSize) {
      if (type == PDDCommonContentTypeEnum._1k9 || type == PDDCommonContentTypeEnum.todayTop 
            || type == PDDCommonContentTypeEnum.brandClear) {
         return PinDuoDuoApiUtil.searchByChannelType(page - 1, pageSize, type.getContent());
      }
      } else if (type == PDDCommonContentTypeEnum.hotSaleGoods) {
         return pddGoodsService.getTopGoodsList(page, 2); // 热卖好货
      } else if (type == PDDCommonContentTypeEnum.todaySaleGoods) { // 热销榜单
         int count = 0;
         List<PDDGoodsDetail> list = new ArrayList<PDDGoodsDetail>();
         PDDGoodsResult pddGoodsResult = pddGoodsService.getTodaySaleGoodsList();
         if (pddGoodsResult != null) {
            List<PDDGoodsDetail> goodsList = pddGoodsResult.getGoodsList();
            if (goodsList != null) {
               if (goodsList.size() >= (page * pageSize)) {
                  list.addAll(goodsList.subList((page-1)* pageSize, page * pageSize));
               }
               count = goodsList.size();
            }
         }
         PDDGoodsResult pddResult = new PDDGoodsResult();
         pddResult.setGoodsList(list);
         pddResult.setTotalCount(count);
         return pddResult;
      }
      return null;
   }
   @Override
   public List<CommonContentNav> getNavList(PDDCommonContentTypeEnum type) {
      List<CommonContentNav> navList = new ArrayList<>();
      if (type == PDDCommonContentTypeEnum.hotSaleGoods) {
      }
      return navList;
   }
}