From fea331863736e8646cf83144dd448d3000d53e6d Mon Sep 17 00:00:00 2001 From: Jihun Kim Date: Tue, 2 Sep 2025 17:33:15 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EB=A9=94=EB=89=B4=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=EC=97=85=EB=A1=9C=EB=93=9C=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../applicationadmin/menu/service/MenuImageService.java | 9 +++++++++ .../menu/repository/MenuImageRepository.java | 2 ++ 2 files changed, 11 insertions(+) diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java index e1bdcc5c..b3726fe8 100644 --- a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/menu/service/MenuImageService.java @@ -1,5 +1,7 @@ package com.nowait.applicationadmin.menu.service; +import java.util.Optional; + import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -33,6 +35,13 @@ public MenuImageUploadResponse save(Long menuId, MultipartFile file) { Menu menu = menuRepository.findById(menuId) .orElseThrow(MenuNotFoundException::new); + Optional existingMenuImage = menuImageRepository.findByMenuId(menuId); + + existingMenuImage.ifPresent(menuImage -> { + s3Service.delete(menuImage.getFileKey()); + menuImageRepository.delete(menuImage); + }); + S3Service.S3UploadResult uploadResult = s3Service.upload(type, menuId, file).join(); // MenuImage 엔티티 생성 및 저장 diff --git a/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuImageRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuImageRepository.java index 471464cb..7ad8143a 100644 --- a/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuImageRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/menu/repository/MenuImageRepository.java @@ -1,6 +1,7 @@ package com.nowait.domaincorerdb.menu.repository; import java.util.List; +import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @@ -11,4 +12,5 @@ @Repository public interface MenuImageRepository extends JpaRepository { List findByMenu(Menu menu); + Optional findByMenuId(Long menuId); }