diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java index 9be36ae..600c95d 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java @@ -498,11 +498,17 @@ public class CereShopProductServiceImpl implements CereShopProductService { List skus=cereProductSkuService.findByProductId(productId); //SKU详细数据 List skuIdList = skus.stream().map(Sku::getSkuId).distinct().collect(Collectors.toList()); - List cereSkuNameList = cereSkuNameService.list(Wrappers.lambdaQuery().in(CereSkuName::getSkuId, skuIdList)); + List cereSkuNameList = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(skuIdList)){ + cereSkuNameList = cereSkuNameService.list(Wrappers.lambdaQuery().in(CereSkuName::getSkuId, skuIdList)); + } //SKU的多语言名称 List cereSkuNameLangKeyList = cereSkuNameList.stream().map(CereSkuName::getUniId).collect(Collectors.toList()); - List cereSkuNameLangInfoList = cereSkuNameLangInfoService.list(Wrappers.lambdaQuery().in(CereSkuNameLangInfo::getSkuUniId, cereSkuNameLangKeyList)); + List cereSkuNameLangInfoList = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(cereSkuNameLangKeyList)){ + cereSkuNameLangInfoList = cereSkuNameLangInfoService.list(Wrappers.lambdaQuery().in(CereSkuNameLangInfo::getSkuUniId, cereSkuNameLangKeyList)); + } Map> cereSkuNameListMap = cereSkuNameList.stream().collect(Collectors.groupingBy(CereSkuName::getNameCode, LinkedHashMap::new, Collectors.toList())); @@ -567,12 +573,14 @@ public class CereShopProductServiceImpl implements CereShopProductService { } } // skus.forEach(sku -> sku.setSkuAttrCodeDTOList(cereSkuNameService.findBySkuId(sku.getSkuId()))); - shopProduct.setImages(EmptyUtils.getImages(images)); - shopProduct.setSkus(skus); - shopProduct.setNames(names); List classifyIdList = new ArrayList<>(); - classifyIdList.addAll( Collections.singletonList(shopProduct.getProductId())); + if (ObjectUtils.isNotEmpty(shopProduct)){ + shopProduct.setImages(EmptyUtils.getImages(images)); + shopProduct.setSkus(skus); + shopProduct.setNames(names); + classifyIdList.addAll( Collections.singletonList(shopProduct.getProductId())); + } classifyIdList = classifyIdList.stream().filter(item -> item != null && item > 0).distinct().collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(classifyIdList)){ @@ -1305,10 +1313,11 @@ public class CereShopProductServiceImpl implements CereShopProductService { //删除规格,查询满足删除规格属性的所有规格id List skuNameList = cereSkuNameService.findSkuNameBySkuIds(deletes); List skuUniIds = skuNameList.stream().map(CereSkuName::getUniId).collect(Collectors.toList()); - cereSkuNameLangInfoService.remove(Wrappers.lambdaQuery() - .in(CereSkuNameLangInfo::getSkuUniId, - skuUniIds)); - + if (ObjectUtils.isNotEmpty(skuUniIds)){ + cereSkuNameLangInfoService.remove(Wrappers.lambdaQuery() + .in(CereSkuNameLangInfo::getSkuUniId, + skuUniIds)); + } if(!EmptyUtils.isEmpty(deletes)){ cereProductSkuService.deleteByIds(deletes); //清空规格名和规格值关联数据