| 
					
				 | 
			
			
				@@ -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())) { 
			 |