From a9b7fab63c4345a6b183bffdab1bb0884f4202b5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 22 八月 2019 15:22:19 +0800 Subject: [PATCH] Merge branch 'mater-1.6.0' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java | 67 ++++++++++++++++++++++++++++++++- 1 files changed, 65 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..844f291 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,12 +13,16 @@ 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.DaTaoKeDetail; import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; @@ -211,9 +215,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 +308,62 @@ 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; + } + } -- Gitblit v1.8.0