From 65460a2dc7c69d8c0e031ec4c89e25d47e5173f2 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 10 九月 2019 16:54:11 +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 | 38 +++++++++++++++++++++++++++++++++++--- 1 files changed, 35 insertions(+), 3 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 8dd5f21..edc36eb 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 @@ -333,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); @@ -355,14 +375,26 @@ 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 -- Gitblit v1.8.0