yujian
2019-09-10 65460a2dc7c69d8c0e031ec4c89e25d47e5173f2
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java
@@ -22,7 +22,6 @@
import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult;
import com.yeshi.fanli.dto.dataoke.DingDongQiangDTO;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
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.DaTaoKeGoodsDetailV2Service;
@@ -334,12 +333,32 @@
         daTaoKeGoodsDetailV2Dao.save(v2);
   }
   private List<DaTaoKeDetailV2> getDefaultDingDongQiang() {
      // 按更新时间加
      DaTaoKeGoodsResult result = DaTaoKeApiUtil.getRankingList(DaTaoKeApiUtil.RANK_TYPE_TIME, null);
      if (result != null && result.getGoodsList().size() > 0) {
         List<DaTaoKeDetailV2> finalList = new ArrayList<>();
         Collections.shuffle(result.getGoodsList());
         finalList.addAll(result.getGoodsList().subList(0,
               result.getGoodsList().size() > 8 ? 8 : result.getGoodsList().size()));
         for (DaTaoKeDetailV2 detail : finalList) {
            detail.setCouponReceiveNum(detail.getCouponTotalNum() - (int) (200 + Math.random() * 1000));
            if (detail.getCouponTotalNum() - detail.getCouponReceiveNum() <= 0)
               detail.setCouponReceiveNum(detail.getCouponTotalNum());
         }
         return finalList;
      }
      return null;
   }
   @Cacheable(value = "daTaoKeGoodsCache", key = "'getDingDongQiangData-'+#time")
   @Override
   public List<DaTaoKeDetailV2> getDingDongQiangData(String time) {
      List<DingDongQiangDTO> list = getDingDongQiangData();
      if (list == null)
         return null;
      if (list == null || list.size() == 0) {
         return getDefaultDingDongQiang();
      }
      Map<String, DingDongQiangDTO> map = new HashMap<>();
      for (DingDongQiangDTO dto : list)
         map.put(dto.getTime(), dto);
@@ -356,14 +375,36 @@
            finalList = listByIds(idList);
         }
         // 如果商品数小于4,需要再加商品
         if (finalList == null || finalList.size() <= 3) {
            // 按更新时间加
            List<DaTaoKeDetailV2> latestList = daTaoKeGoodsDetailV2Dao.listPreShareHotGoods(0, 50, "updateTime",
                  new BigDecimal("0.5"));
            if (latestList != null && latestList.size() > 0) {
               Collections.shuffle(latestList);
               finalList.addAll(latestList.subList(0, latestList.size() > 8 ? 8 : latestList.size()));
            }
         }
         for (DaTaoKeDetailV2 detail : finalList) {
            detail.setCouponReceiveNum(detail.getCouponTotalNum() - (int) (200 + Math.random() * 1000));
            if (detail.getCouponTotalNum() - detail.getCouponReceiveNum() <= 0)
               detail.setCouponReceiveNum(detail.getCouponTotalNum());
         }
         return finalList;
      } else {
         return getDefaultDingDongQiang();
      }
      return null;
   }
   @Override
   public List<String> getDingDongQiangTime() {
      List<DingDongQiangDTO> list = getDingDongQiangData();
      List<String> dateList = new ArrayList<>();
      for (DingDongQiangDTO dto : list) {
         dateList.add(dto.getTime());
      }
      return dateList;
   }
}