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