From 659ecb86b75e24c95ab2edc9a056fdd6f7d90a91 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期五, 23 八月 2019 11:09:28 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java | 76 +++++++++++++++++++++++++++++++++++++- 1 files changed, 74 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java index 6efbbe2..8dd5f21 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java @@ -13,11 +13,14 @@ import javax.annotation.Resource; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.goods.taobao.dataoke.DaTaoKeGoodsDetailV2Dao; 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.DaTaoKeDetailV2; import com.yeshi.fanli.log.LogHelper; @@ -211,9 +214,10 @@ } @Override - public List<DaTaoKeDetailV2> listPreShareHotGoods(int page,BigDecimal minCommission) { + public List<DaTaoKeDetailV2> listPreShareHotGoods(int page, BigDecimal minCommission) { Map<Long, DaTaoKeDetailV2> map = new HashMap<>(); - List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Dao.listPreShareHotGoods((page - 1) * 100, 100, "hotPush",minCommission); + List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Dao.listPreShareHotGoods((page - 1) * 100, 100, "hotPush", + minCommission); System.out.println(list); for (DaTaoKeDetailV2 v2 : list) { map.put(v2.getId(), v2); @@ -303,4 +307,72 @@ daTaoKeGoodsDetailV2Dao.listAndRemoveByMinUpdateTime(minTime, 0, 3000); } + @Override + public long countByMinUpdateTime(Date minTime) { + return daTaoKeGoodsDetailV2Dao.countByMinUpdateTime(minTime); + } + + @Cacheable(value = "daTaoKeGoodsCache", key = "'getDingDongQiangData'") + @Override + public List<DingDongQiangDTO> getDingDongQiangData() { + List<DingDongQiangDTO> list = null; + int count = 0; + while ((list == null || list.size() == 0) && count < 3) { + count++; + list = DaTaoKeUtil.getDingDongQiang(); + } + if (list == null) + return null; + return list; + } + + @Async + private void updateGoods(Long id) { + DaTaoKeDetailV2 v2 = DaTaoKeApiUtil.getGoodsDetail(id); + if (v2 != null) + daTaoKeGoodsDetailV2Dao.save(v2); + } + + @Cacheable(value = "daTaoKeGoodsCache", key = "'getDingDongQiangData-'+#time") + @Override + public List<DaTaoKeDetailV2> getDingDongQiangData(String time) { + List<DingDongQiangDTO> list = getDingDongQiangData(); + if (list == null) + return null; + Map<String, DingDongQiangDTO> map = new HashMap<>(); + for (DingDongQiangDTO dto : list) + map.put(dto.getTime(), dto); + + DingDongQiangDTO dto = map.get(time); + if (dto != null) { + List<Long> idList = new ArrayList<>(); + for (DaTaoKeDetailV2 td : dto.getGoodsList()) + idList.add(td.getId()); + List<DaTaoKeDetailV2> finalList = listByIds(idList); + if (finalList.size() != idList.size()) { + for (Long id : idList) + updateGoods(id); + finalList = listByIds(idList); + } + + 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; + } + + @Override + public List<String> getDingDongQiangTime() { + List<DingDongQiangDTO> list = getDingDongQiangData(); + List<String> dateList = new ArrayList<>(); + for (DingDongQiangDTO dto : list) { + dateList.add(dto.getTime()); + } + return dateList; + } + } -- Gitblit v1.8.0