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<ProductLabel> newLabels = request.getNewLabels().stream().peek(i-> i.setProductId(request.getProductId())).collect(Collectors.toList());
|
productLabelService.batchCreate(newLabels);
|
}
|
}
|
|
}
|