| 
					
				 | 
			
			
				@@ -576,7 +576,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String, List<Map<String, Object>>> sheetsListMap = POIUtil.importExcel(new ByteArrayInputStream(file.getBytes()), 2, file.getOriginalFilename()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (sheetsListMap.values().isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			errList.add("excel未解析到数据"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return getImportErrLogFile(errList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// 查询商品分类 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -599,7 +599,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<Map<String, Object>> firstSheet = sheetsListMap.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<String> skuList = firstSheet.stream().map(next -> next.get("SKU").toString()).distinct().collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<PmsProductDto> subGoods = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<PmsProductDto> subGoods; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			// 查询SKU对应商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			PmsProductQueryParamDto dto = PmsProductQueryParamDto.builder() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -608,13 +608,15 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					.pageSize(9999) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					.build(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			dto.setJson(JSON.toJSONString(dto)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			subGoods.addAll(mallFeignService.getProductList(dto).getRows()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			subGoods = new ArrayList<>(mallFeignService.getProductList(dto).getRows()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			errList.add("商城服务调用失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return getImportErrLogFile(errList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String, PmsProductDto>skuMap = subGoods.stream().collect(Collectors.toMap(next -> (next.getName() + "_" + next.getSkuCode()), Function.identity())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<GoodsWrapper.Goods> goodsList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<GoodsWrapper.Goods> goodsList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<JSONObject> jsonObjectList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (Map.Entry<String, List<Map<String, Object>>> sheetData : sheetsListMap.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<Map<String, Object>> rows = sheetData.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (rows.isEmpty()) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -626,7 +628,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<String> defaultField = templateFields.stream().filter(firstRow::containsKey).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (!defaultField.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				errList.add("导入字段缺省:" + String.join(",", defaultField)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return getImportErrLogFile(errList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			String lineErrMsg = "第%s行存在错误:%s"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -643,6 +645,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if (row.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				List<String> lineErrList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				for (Map.Entry<String, Object> entry : row.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					String fieldName = entry.getKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					if (!templateFields.contains(fieldName)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -654,10 +657,10 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					// 非子商品字段为空,往上一行获取值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					if (StringUtils.isEmpty(value)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if ("subGoodsName".equals(fieldCode) || "sku".equals(fieldCode) || "subGoodsPrice".equals(fieldCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							errList.add(String.format(lineErrMsg, rowNum, "字段‘" + fieldName + "’为空")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineErrList.add("字段‘" + fieldName + "’为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if (!beforeGoods.containsKey(fieldCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								errList.add(String.format(lineErrMsg, rowNum, "字段‘" + fieldName + "’为空")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								lineErrList.add("字段‘" + fieldName + "’为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								value = beforeGoods.get(fieldCode); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -672,12 +675,13 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if (NumberUtils.isNumber(value)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							BigDecimal prize = new BigDecimal(value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if (BigDecimal.ZERO.compareTo(prize) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								errList.add(String.format(lineErrMsg, rowNum, "字段‘" + fieldName + "’不能为负数")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								lineErrList.add("字段‘" + fieldName + "’不能为负数"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								objectMap.put(fieldCode, value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							errList.add(String.format(lineErrMsg, rowNum, "字段‘" + fieldName + "’类型错误")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineErrList.add("字段‘" + fieldName + "’类型错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} else if ("type".equals(fieldCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						String tempValue = value; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -685,13 +689,13 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if (match) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							objectMap.put(fieldCode, value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							errList.add(String.format(lineErrMsg, rowNum, "字段‘" + fieldName + "’类型不支持")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineErrList.add("字段‘" + fieldName + "’类型不支持"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} else if ("goodsCategoryName".equals(fieldCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if(categoryNames.contains(value)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							objectMap.put("goodsCategoryId", categoryIdNameMap.get(value)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						}else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							errList.add(String.format(lineErrMsg, rowNum, "字段‘" + fieldName + "’类型不支持")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineErrList.add("字段‘" + fieldName + "’类型不支持"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} else if ("educationShowOrganName".equals(fieldCode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							|| "courseFeeShowOrganName".equals(fieldCode) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -702,7 +706,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						List<String> orgIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						for (String orgName : value.split(",")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if (!orgNameIdMap.containsKey(orgName)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								errList.add(String.format(lineErrMsg, rowNum, "字段‘" + fieldName + "’:‘" + value + "’分部不支持")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								lineErrList.add("字段‘" + fieldName + "’:‘" + value + "’分部不支持"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								orgIds.add(orgNameIdMap.get(orgName).toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -710,17 +714,6 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						String join = String.join(",", orgIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						String fieldKey = fieldCode.replaceAll("Name", "Id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						objectMap.put(fieldKey, join); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						if("educationShowOrganName".equals(fieldCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//							goods.setEducationShowOrganId(join); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						}else if("courseFeeShowOrganName".equals(fieldCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//							goods.setCourseFeeShowOrganId(join); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						}else if("memberFeeShowOrganName".equals(fieldCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//							goods.setMemberFeeShowOrganId(join); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						}else if("freeFeeShowOrganName".equals(fieldCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//							goods.setFreeFeeShowOrganId(join); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						}else if("replacementShowOrganName".equals(fieldCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//							goods.setReplacementShowOrganId(join); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} else if ("subGoodsName".equals(fieldCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						subGoodsName = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if (StringUtils.isNotEmpty(subGoodsSku)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -732,7 +725,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								objectMap.put("stock", dto.getStock()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								objectMap.put("goodsStatus", dto.getPublishStatus()==1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								errList.add(String.format(lineErrMsg, rowNum, "子商品‘" + value + "[" + subGoodsSku + "]’不存在")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								lineErrList.add("子商品‘" + value + "[" + subGoodsSku + "]’不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} else if ("sku".equals(fieldCode)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -746,60 +739,65 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								objectMap.put("stock", dto.getStock()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								objectMap.put("goodsStatus", dto.getPublishStatus()==1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								errList.add(String.format(lineErrMsg, rowNum, "子商品‘" + value + "[" + subGoodsSku + "]’不存在")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								lineErrList.add("子商品‘" + value + "[" + subGoodsSku + "]’不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} else if ("subGoodsPrice".equals(fieldCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						BigDecimal subGoodsPrice = new BigDecimal(value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if (BigDecimal.ZERO.compareTo(subGoodsPrice) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							errList.add(String.format(lineErrMsg, rowNum, "字段‘" + fieldName + "’不能为负数")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineErrList.add("字段‘" + fieldName + "’不能为负数"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						goodsSub.setGoodsPrice(subGoodsPrice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						objectMap.put(fieldCode, value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				goods.setGoodsSubList(Collections.singletonList(goodsSub)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				goodsList.add(goods); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (!lineErrList.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					errList.add(String.format(lineErrMsg, rowNum, String.join(",", lineErrList))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObjectList.add(objectMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				goods.setGoodsSubList(Collections.singletonList(goodsSub)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				goodsList.add(goods); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (goodsList.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (jsonObjectList.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			errList.add("未解析到数据"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (!errList.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			// 存在错误信息,添加错误日志文件返回 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return getImportErrLogFile(errList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<String, List<GoodsWrapper.Goods>> goodsGroup = goodsList.stream().collect(Collectors.groupingBy(next -> next.getName() + "_" + next.getSn())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		// 数据合并 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, Integer> skuIdMap = subGoods.stream().collect(Collectors.toMap(PmsProductDto::getSkuStockId, PmsProductDto::getStock)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		goodsGroup.forEach((key, value) -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			GoodsWrapper.Goods good = value.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			List<GoodsWrapper.GoodsSub> goodsSubList = value.stream().map(GoodsWrapper.Goods::getGoodsSubList).flatMap(Collection::stream).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Integer stock = goodsSubList.stream().map(next -> skuIdMap.get(next.getSku())).min(Integer::compareTo).orElse(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Goods goods = JSON.parseObject(JSON.toJSONString(good), Goods.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			goods.setStatus(YesOrNoEnum.NO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			goods.setStockCount(stock); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.insert(goods); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			List<GoodsSub> subList = goodsSubList.stream().map(next -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				GoodsSub sub = new GoodsSub(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sub.setGoodsId(goods.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sub.setMallGoodsId(next.getMallGoodsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sub.setSku(next.getSku()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sub.setGoodsStatus(next.getGoodsStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sub.setGoodsPrice(next.getGoodsPrice()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				return sub; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			goodsSubMapper.saveBatch(subList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<String, List<GoodsWrapper.Goods>> goodsGroup = jsonObjectList.stream().collect(Collectors.groupingBy(next -> next.getClass() + "_" + next.getSn())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		// 数据合并 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer, Integer> skuIdMap = subGoods.stream().collect(Collectors.toMap(PmsProductDto::getSkuStockId, PmsProductDto::getStock)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		goodsGroup.forEach((key, value) -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			GoodsWrapper.Goods good = value.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			List<GoodsWrapper.GoodsSub> goodsSubList = value.stream().map(GoodsWrapper.Goods::getGoodsSubList).flatMap(Collection::stream).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			Integer stock = goodsSubList.stream().map(next -> skuIdMap.get(next.getSku())).min(Integer::compareTo).orElse(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			Goods goods = JSON.parseObject(JSON.toJSONString(good), Goods.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			goods.setStatus(YesOrNoEnum.NO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			goods.setStockCount(stock); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			this.insert(goods); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			List<GoodsSub> subList = goodsSubList.stream().map(next -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				GoodsSub sub = new GoodsSub(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				sub.setGoodsId(goods.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				sub.setMallGoodsId(next.getMallGoodsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				sub.setSku(next.getSku()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				sub.setGoodsStatus(next.getGoodsStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				sub.setGoodsPrice(next.getGoodsPrice()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				return sub; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			}).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			goodsSubMapper.saveBatch(subList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1142,16 +1140,16 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		log.info(Thread.currentThread().getName() + "开始同步商品状态:" + JSON.toJSONString(goodsSubModelList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<Integer> goodIds = goodsSubModelList.stream().map(GoodsSubModel::getMallGoodsId).distinct().collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<Integer> skuIds = goodsSubModelList.stream().map(GoodsSubModel::getSkuId).distinct().collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		QueryWrapper<GoodsSub> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		queryWrapper.in("mall_goods_id_", goodIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		queryWrapper.in("sku_", skuIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<GoodsSub> goodsSubs = goodsSubMapper.selectList(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (CollectionUtils.isEmpty(goodsSubs)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<String, Boolean> keyStatusMap = goodsSubModelList.stream().collect(Collectors.toMap(next -> next.getMallGoodsId() + "_" + next.getSkuId(), GoodsSubModel::getGoodsStatus)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<Integer, Boolean> keyStatusMap = goodsSubModelList.stream().collect(Collectors.toMap(GoodsSubModel::getSkuId, GoodsSubModel::getGoodsStatus)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		log.info(Thread.currentThread().getName() + "开始同步商品状态:0/" + goodsSubs.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<GoodsSub> goodsSubList = goodsSubs.stream().peek(next -> next.setGoodsStatus(keyStatusMap.get(next.getMallGoodsId() + "_" + next.getSku()))).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<GoodsSub> goodsSubList = goodsSubs.stream().peek(next -> next.setGoodsStatus(keyStatusMap.get(next.getSku()))).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// 下架的商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<GoodsSub> downGoods = goodsSubList.stream().filter(next -> Boolean.FALSE.equals(next.getGoodsStatus())).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(!CollectionUtils.isEmpty(downGoods)){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1216,8 +1214,8 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public List<ProductCategoryDto> queryGoodsTypeList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return mallFeignService.listWithChildren(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<ProductAttributeCategoryDto> queryGoodsTypeList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return mallFeignService.getProductAttributeCategoryList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1226,7 +1224,12 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public List<ProductAttributeCategoryDto> queryGoodsCategoryList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return mallFeignService.getProductAttributeCategoryList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<ProductCategoryDto> queryGoodsCategoryList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return mallFeignService.listWithChildren(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private String getImportErrLogFile(List<String> errList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |