diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java index fe7dd1ca..6622d05c 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java @@ -9,7 +9,6 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import lombok.AccessLevel; -import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import org.cotato.csquiz.common.entity.S3Info; diff --git a/src/main/java/org/cotato/csquiz/domain/generation/service/ProjectImageService.java b/src/main/java/org/cotato/csquiz/domain/generation/service/ProjectImageService.java index eabf44f3..ba1205cf 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/service/ProjectImageService.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/service/ProjectImageService.java @@ -11,7 +11,6 @@ import org.cotato.csquiz.common.error.exception.ImageException; import org.cotato.csquiz.common.s3.S3Uploader; import org.cotato.csquiz.domain.generation.entity.ProjectImage; -import org.cotato.csquiz.domain.generation.enums.ProjectImageType; import org.cotato.csquiz.domain.generation.repository.ProjectImageRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,26 +25,28 @@ public class ProjectImageService { private final ProjectImageRepository projectImageRepository; @Transactional - public void createProjectImage(Long projectId, MultipartFile logoImage, MultipartFile thumbNailImage, List detailImages) + public void createProjectImage(Long projectId, MultipartFile logoImage, MultipartFile thumbNailImage, + List detailImages) throws ImageException { List newImages = new ArrayList<>(); - addImage(newImages, logoImage, ProjectImageType.LOGO, projectId, 1); - addImage(newImages, thumbNailImage, ProjectImageType.THUMBNAIL, projectId, 1); + File webpLogoImage = convertToWebp(convert(logoImage)); + S3Info logoImageInfo = s3Uploader.uploadFiles(webpLogoImage, PROJECT_IMAGE); + newImages.add(ProjectImage.logoImage(logoImageInfo, projectId)); + + File webpThumbNailImage = convertToWebp(convert(thumbNailImage)); + S3Info thumbNailInfo = s3Uploader.uploadFiles(webpThumbNailImage, PROJECT_IMAGE); + newImages.add(ProjectImage.thumbnailImage(thumbNailInfo, projectId)); if (detailImages != null && !detailImages.isEmpty()) { for (int orderIndex = 1; orderIndex <= detailImages.size(); orderIndex++) { MultipartFile detailImage = detailImages.get(orderIndex - 1); - addImage(newImages, detailImage, ProjectImageType.DETAIL, projectId, orderIndex); + File webpDetailImage = convertToWebp(convert(detailImage)); + S3Info detailImageInfo = s3Uploader.uploadFiles(webpDetailImage, PROJECT_IMAGE); + newImages.add(ProjectImage.detailImage(detailImageInfo, projectId, orderIndex)); } } projectImageRepository.saveAll(newImages); } - - private void addImage( List newImages, MultipartFile image, ProjectImageType imageType, Long projectId, int imageOrder) throws ImageException { - File webpImage = convertToWebp(convert(image)); - S3Info ImageInfo = s3Uploader.uploadFiles(webpImage, PROJECT_IMAGE); - newImages.add(ProjectImage.createProjectImage(imageType, ImageInfo, projectId, imageOrder)); - } }