Browse Source

商家端库存明细选择商品移除异常问题修复

multiwx
dy-hu 10 months ago
parent
commit
4a7db6d921
  1. 29
      cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java

29
cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java

@ -498,11 +498,17 @@ public class CereShopProductServiceImpl implements CereShopProductService {
List<Sku> skus=cereProductSkuService.findByProductId(productId);
//SKU详细数据
List<Long> skuIdList = skus.stream().map(Sku::getSkuId).distinct().collect(Collectors.toList());
List<CereSkuName> cereSkuNameList = cereSkuNameService.list(Wrappers.<CereSkuName>lambdaQuery().in(CereSkuName::getSkuId, skuIdList));
List<CereSkuName> cereSkuNameList = new ArrayList<>();
if (ObjectUtils.isNotEmpty(skuIdList)){
cereSkuNameList = cereSkuNameService.list(Wrappers.<CereSkuName>lambdaQuery().in(CereSkuName::getSkuId, skuIdList));
}
//SKU的多语言名称
List<String> cereSkuNameLangKeyList = cereSkuNameList.stream().map(CereSkuName::getUniId).collect(Collectors.toList());
List<CereSkuNameLangInfo> cereSkuNameLangInfoList = cereSkuNameLangInfoService.list(Wrappers.<CereSkuNameLangInfo>lambdaQuery().in(CereSkuNameLangInfo::getSkuUniId, cereSkuNameLangKeyList));
List<CereSkuNameLangInfo> cereSkuNameLangInfoList = new ArrayList<>();
if (ObjectUtils.isNotEmpty(cereSkuNameLangKeyList)){
cereSkuNameLangInfoList = cereSkuNameLangInfoService.list(Wrappers.<CereSkuNameLangInfo>lambdaQuery().in(CereSkuNameLangInfo::getSkuUniId, cereSkuNameLangKeyList));
}
Map<String,List<CereSkuName>> 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<Long> 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<CereSkuName> skuNameList = cereSkuNameService.findSkuNameBySkuIds(deletes);
List<String> skuUniIds = skuNameList.stream().map(CereSkuName::getUniId).collect(Collectors.toList());
cereSkuNameLangInfoService.remove(Wrappers.<CereSkuNameLangInfo>lambdaQuery()
.in(CereSkuNameLangInfo::getSkuUniId,
skuUniIds));
if (ObjectUtils.isNotEmpty(skuUniIds)){
cereSkuNameLangInfoService.remove(Wrappers.<CereSkuNameLangInfo>lambdaQuery()
.in(CereSkuNameLangInfo::getSkuUniId,
skuUniIds));
}
if(!EmptyUtils.isEmpty(deletes)){
cereProductSkuService.deleteByIds(deletes);
//清空规格名和规格值关联数据

Loading…
Cancel
Save