|  | @@ -2133,21 +2133,65 @@ public class GoodsServiceImpl implements GoodsService {
 | 
	
		
			
				|  |  |          return goodsDao.queryObjectBySn(goodsSn);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 全量拉取
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void syncOmsHsCodeTask() {
 | 
	
		
			
				|  |  | -        List<String> skuList = goodsDao.queryNonSyncOmsHsCodeSkuList();
 | 
	
		
			
				|  |  | -        syncOmsHsCode(skuList);
 | 
	
		
			
				|  |  | +        syncOmsHsCodeSegment(goodsDao.queryNonSyncOmsHsCodeSkuList());
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 全量计算
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void syncGoodsRateTask() {
 | 
	
		
			
				|  |  | +        // 查询出所有商品
 | 
	
		
			
				|  |  | +        List<GoodsEntity> allGoodsList = goodsDao.queryAllList(null,null);
 | 
	
		
			
				|  |  | +        syncGoodsRate(allGoodsList);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 选择拉取
 | 
	
		
			
				|  |  | +     * @param ids
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void syncOmsHsCodeGoode(List<Integer> ids) {
 | 
	
		
			
				|  |  | -        syncOmsHsCode(goodsDao.syncOmsHsCodeGoode(ids));
 | 
	
		
			
				|  |  | +        syncOmsHsCodeSegment(goodsDao.syncOmsHsCodeGoode(ids));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 选择计算
 | 
	
		
			
				|  |  | +     * @param ids
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void syncGoodsRateGoode(List<Integer> ids) {
 | 
	
		
			
				|  |  | +        syncGoodsRate(goodsDao.syncGoodsRateGoode(ids));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void syncOmsHsCodeSegment(List<String> skuList) {
 | 
	
		
			
				|  |  | +        int segmentLimitSize = 300;
 | 
	
		
			
				|  |  | +        if (skuList.size() < segmentLimitSize) {
 | 
	
		
			
				|  |  | +            this.syncOmsHsCode(skuList);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            int segmentSize = skuList.size() % segmentLimitSize == 0 ? skuList.size() / segmentLimitSize : (skuList.size() / segmentLimitSize) + 1;
 | 
	
		
			
				|  |  | +            List<List<String>> segment = new ArrayList<>();
 | 
	
		
			
				|  |  | +            for (int i = 0; i < segmentSize; i++) {
 | 
	
		
			
				|  |  | +                int end = (i == segmentSize - 1) ? skuList.size() : i * segmentLimitSize + segmentLimitSize;
 | 
	
		
			
				|  |  | +                segment.add(new ArrayList<>(skuList.subList(i * segmentLimitSize, end)));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            for (List<String> tmp : segment) {
 | 
	
		
			
				|  |  | +                this.syncOmsHsCode(tmp);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  |      public void syncOmsHsCode(List<String> skuList) {
 | 
	
		
			
				|  |  |          if (Objects.nonNull(skuList) && skuList.size()>0){
 | 
	
		
			
				|  |  |              String result = HttpUtil.get("https://oms.ds-bay.com/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList?skuList=" + skuList);
 | 
	
		
			
				|  |  | +            //String result = HttpUtil.get("http://183.3.221.143:8080/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList?skuList=" + skuList);
 | 
	
		
			
				|  |  | +            //String result = HttpUtil.get("http://127.0.0.1:8080/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList?skuList=" + skuList);
 | 
	
		
			
				|  |  |              Map<String,Map> map = JSON.parseObject(result, Map.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              for (String sku : skuList) {
 | 
	
	
		
			
				|  | @@ -2189,12 +2233,10 @@ public class GoodsServiceImpl implements GoodsService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    @Override
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  | -    public void syncGoodsRate() {
 | 
	
		
			
				|  |  | +    public void syncGoodsRate(List<GoodsEntity> allGoodsList) {
 | 
	
		
			
				|  |  |          String storeId = "163"; // 市场部说所有门店价格一致,并且活动一致,可直接取其中一个门店价格进行计算税率
 | 
	
		
			
				|  |  | -        // 查询出所有商品
 | 
	
		
			
				|  |  | -        List<GoodsEntity> allGoodsList = goodsDao.queryAllList(null,null);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          for (GoodsEntity goodsEntity : allGoodsList) {
 | 
	
		
			
				|  |  |              // 同步过海关商品编码才可以算税率
 | 
	
		
			
				|  |  |              if ("1".equals(goodsEntity.getIsSyncHsCode())) {
 |