package com.oying.modules.pc.product.converter; import cn.hutool.core.collection.ListUtil; import com.oying.modules.pc.product.domain.ProductImage; import com.oying.modules.pc.product.domain.dto.ProductImageCreateRequest; import com.oying.modules.pc.product.domain.dto.ProductImageUpdateRequest; import com.oying.modules.pc.utils.ImageUtils; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; public class ProductImageAssembler { public static ProductImage to(ProductImageCreateRequest request) { ProductImage productImage = new ProductImage(); productImage.setProductId(request.getProductId()); productImage.setImageType(Optional.ofNullable(request.getImageType()).orElse("main")); productImage.setCloudStorageId(request.getUploadFileId()); productImage.setImageUrl(ImageUtils.getPublicObjectUrl(request.getUploadFileId())); return productImage; } public static List toProducts(List requests) { return Optional.ofNullable(requests).orElse(ListUtil.empty()).stream().map(ProductImageAssembler::to).collect(Collectors.toList()); } public static ProductImage to(ProductImageUpdateRequest request) { ProductImage productImage = new ProductImage(); productImage.setImageId(request.getImageId()); productImage.setProductId(request.getProductId()); productImage.setImageType(request.getImageType()); productImage.setCloudStorageId(request.getUploadFileId()); productImage.setImageUrl(ImageUtils.getPublicObjectUrl(request.getUploadFileId())); return productImage; } }