From eee931dfb53af971d79329f294fe18958f15c0de Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 25 七月 2019 10:45:31 +0800 Subject: [PATCH] 淘宝维权订单采用接口方式爬取 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java index 4558da4..914f5f6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java @@ -167,6 +167,18 @@ return list; } + private void updateGoods(Long id) { + DaTaoKeDetail detail = daTaoKeDetailMapper.selectByPrimaryKey(id); + if (detail != null) + return; + detail = DaTaoKeApiUtil.getGoodsDetailV1(id); + if (detail != null) { + List<DaTaoKeDetail> list = new ArrayList<>(); + list.add(detail); + addGoodsList(list); + } + } + @Cacheable(value = "daTaoKeGoodsCache", key = "'getDingDongQiangData-'+#time") @Override public List<DaTaoKeDetail> getDingDongQiangData(String time) { @@ -175,7 +187,6 @@ return null; Map<String, DingDongQiangDTO> map = new HashMap<>(); for (DingDongQiangDTO dto : list) - map.put(dto.getTime(), dto); DingDongQiangDTO dto = map.get(time); @@ -184,6 +195,12 @@ for (DaTaoKeDetail td : dto.getGoodsList()) idList.add(td.getId()); List<DaTaoKeDetail> finalList = listByIds(idList); + if (finalList.size() != idList.size()) { + for (Long id : idList) + updateGoods(id); + finalList = listByIds(idList); + } + for (DaTaoKeDetail detail : finalList) { detail.setQuanReceive( detail.getQuanSurplus() + detail.getQuanReceive() - (int) (200 + Math.random() * 1000)); -- Gitblit v1.8.0