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