From 531d93708df8017e59830f15b41f3cc42d6126e6 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 09 七月 2019 17:53:01 +0800
Subject: [PATCH] 1.5.7版本需求

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java |   53 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 42 insertions(+), 11 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java
index d430f60..b2d637c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java
@@ -1,7 +1,10 @@
 package com.yeshi.fanli.service.impl.goods;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.Resource;
 
@@ -48,25 +51,22 @@
 		BigDecimal rate = hongBaoManageService.getShareRate();
 		return TaoBaoUtil.getShareGoodsHongBaoInfo(goods, rate);
 	}
-	
-	
+
 	@Override
 	public void deleteByPrimaryKey(Long id) {
 		taoBaoGoodsBriefMapper.deleteByPrimaryKey(id);
 	}
-	
+
 	@Override
 	public void deleteBatchByGoodsId(List<Long> list) {
 		taoBaoGoodsBriefMapper.deleteBatchByGoodsId(list);
 	}
 
-	
 	@Override
 	public List<TaoBaoGoodsBrief> queryByAuctionId(Long auctionId) {
 		return taoBaoGoodsBriefMapper.queryByAuctionId(auctionId);
 	}
-	
-	
+
 	@Override
 	public List<Long> listExistById(List<Long> list) {
 		if (list != null && list.size() > 0)
@@ -74,7 +74,6 @@
 		else
 			return null;
 	}
-
 
 	@Override
 	public int insertBatch(List<TaoBaoGoodsBrief> list) {
@@ -195,16 +194,48 @@
 
 		return taoBaoGoodsBrief;
 	}
-	
-	
+
 	@Override
 	public List<TaoBaoGoodsBrief> listByShopId(long start, int count, Long shopId) {
 		return taoBaoGoodsBriefMapper.listByShopId(start, count, shopId);
 	}
-	
+
 	@Override
 	public long countByShopId(Long shopId) {
 		return taoBaoGoodsBriefMapper.countByShopId(shopId);
 	}
-	
+
+	@Override
+	public List<TaoBaoGoodsBrief> filterOffLineGoods(List<TaoBaoGoodsBrief> goodsList) {
+		int page = goodsList.size() % 40 == 0 ? goodsList.size() / 40 -1 : goodsList.size() / 40;
+		List<TaoBaoGoodsBrief> flist = new ArrayList<>();
+		for (int i = 0; i <= page; i++) {
+			List<TaoBaoGoodsBrief> list = goodsList.subList(i * 40,
+					i * 40 + 40 > goodsList.size() ?goodsList.size(): i * 40 + 40 );
+			String ids = "";
+			for (TaoBaoGoodsBrief goods : list) {
+				ids += goods.getAuctionId() + ",";
+			}
+			ids = ids.endsWith(",") ? ids.substring(0, ids.length() - 1) : ids;
+			Map<Long, TaoBaoGoodsBrief> goodsMap = new HashMap<>();
+			try {
+				List<TaoBaoGoodsBrief> finalList = TaoKeApiUtil.getBatchGoodsInfos(ids);
+				if (finalList != null)
+					for (TaoBaoGoodsBrief ggods : finalList)
+						goodsMap.put(ggods.getAuctionId(), ggods);
+
+				for (int j = 0; j < list.size(); j++) {
+					if (goodsMap.get(list.get(j).getAuctionId()) == null) {
+						list.remove(j);
+						j--;
+					}
+				}
+			} catch (TaobaoGoodsDownException e) {
+				e.printStackTrace();
+			}
+			flist.addAll(list);
+		}
+		return flist;
+	}
+
 }

--
Gitblit v1.8.0