diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java index e61057670..1425e56c9 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java @@ -13,9 +13,11 @@ import com.bsd.pjcloud.supermarket.service.SupermarketUnitService; import lombok.AllArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 商品spu @@ -31,6 +33,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl supermarketUnitEntityList = supermarketSpu.getSupermarketUnitEntityList(); if (CollectionUtils.isNotEmpty(supermarketUnitEntityList)) { + supermarketUnitEntityList.forEach(supermarketUnitEntity -> supermarketUnitEntity.setSpuId(supermarketSpu.getId())); supermarketUnitService.saveBatch(supermarketUnitEntityList); }else { return R.failed("包装类型不能为空"); @@ -45,6 +49,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl supermarketAuxiliaryCodeEntityList = supermarketSpu.getSupermarketAuxiliaryCodeEntityList(); if (CollectionUtils.isNotEmpty(supermarketAuxiliaryCodeEntityList)) { + supermarketAuxiliaryCodeEntityList.forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId())); supermarketAuxiliaryCodeService.saveBatch(supermarketAuxiliaryCodeEntityList); }else { return R.failed("辅助条码不能为空"); @@ -54,20 +59,30 @@ public class SupermarketSpuServiceImpl extends ServiceImpl supermarketUnitEntityList = supermarketSpu.getSupermarketUnitEntityList(); if (CollectionUtils.isNotEmpty(supermarketUnitEntityList)) { - supermarketUnitService.updateBatchById(supermarketUnitEntityList); + //id为null新增 + List insertCollect = supermarketUnitEntityList.stream() + .filter(supermarketUnitEntity -> supermarketUnitEntity.getId() == null).collect(Collectors.toList()); + List updateCollect = supermarketUnitEntityList.stream() + .filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList()); + supermarketUnitService.updateBatchById(updateCollect); + supermarketUnitService.saveBatch(insertCollect); }else { return R.failed("包装类型不能为空"); } //辅助条码 List supermarketAuxiliaryCodeEntityList = supermarketSpu.getSupermarketAuxiliaryCodeEntityList(); if (CollectionUtils.isNotEmpty(supermarketAuxiliaryCodeEntityList)) { - supermarketAuxiliaryCodeService.updateBatchById(supermarketAuxiliaryCodeEntityList); + List insertCollect = supermarketAuxiliaryCodeEntityList.stream().filter(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.getId() == null).collect(Collectors.toList()); + List updateCollect = supermarketAuxiliaryCodeEntityList.stream().filter(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.getId() != null).collect(Collectors.toList()); + supermarketAuxiliaryCodeService.saveBatch(insertCollect); + supermarketAuxiliaryCodeService.updateBatchById(updateCollect); }else { return R.failed("辅助条码不能为空"); }