package com.oying.modules.pc.product.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.oying.modules.pc.product.domain.ProductLabel; import com.oying.modules.pc.product.domain.dto.ProductImageCreateRequest; import com.oying.modules.pc.product.domain.dto.ProductMerchantUpdateRequest; import com.oying.modules.pc.product.service.ProductImageService; import com.oying.modules.pc.product.service.ProductLabelService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; @Slf4j @Service @RequiredArgsConstructor public class ProductMerchantLabelUpdateProcessor { private final ProductLabelService productLabelService; public void processLabelsUpdate(ProductMerchantUpdateRequest request) { if (CollectionUtil.isNotEmpty(request.getDeletedLabelIds())) { productLabelService.deleteAll(request.getDeletedLabelIds()); } if (CollectionUtil.isNotEmpty(request.getUpdatedLabels())) { productLabelService.batchUpdate(request.getUpdatedLabels()); } if (CollectionUtil.isNotEmpty(request.getNewLabels())) { List newLabels = request.getNewLabels().stream().peek(i-> i.setProductId(request.getProductId())).collect(Collectors.toList()); productLabelService.batchCreate(newLabels); } } }