From d560c179ad355ae26c6869bd954da7b60fde8ece Mon Sep 17 00:00:00 2001 From: Jihun Kim Date: Tue, 29 Jul 2025 23:39:31 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor(Bookmark):=20bookmarkId=20?= =?UTF-8?q?=ED=95=84=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bookmark/service/BookmarkService.java | 20 +++-- .../store/dto/StoreDetailReadResponse.java | 4 +- .../store/dto/StorePageReadResponse.java | 4 +- .../store/service/StoreService.java | 3 +- .../store/service/StoreServiceImpl.java | 84 ++++++++++--------- .../store/repository/StoreRepository.java | 2 - .../repository/BookmarkRepository.java | 13 --- 7 files changed, 66 insertions(+), 64 deletions(-) diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java index 61649737..ed20348a 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/bookmark/service/BookmarkService.java @@ -1,10 +1,11 @@ package com.nowait.applicationuser.bookmark.service; -import java.util.HashSet; +import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; -import java.util.Set; +import java.util.stream.Collectors; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -19,11 +20,10 @@ import com.nowait.domaincorerdb.user.exception.UserNotFoundException; import com.nowait.domaincorerdb.user.repository.UserRepository; import com.nowait.domainuserrdb.bookmark.entity.Bookmark; -import com.nowait.domainuserrdb.bookmark.exception.BookmarkNotFoundException; +import com.nowait.domainuserrdb.bookmark.exception.AlreadyDeletedBookmarkException; import com.nowait.domainuserrdb.bookmark.repository.BookmarkRepository; import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; -import jakarta.persistence.EntityNotFoundException; import lombok.RequiredArgsConstructor; @Service @@ -70,15 +70,21 @@ public List getBookmarks(CustomOAuth2User customOAuth2Use User user = userRepository.findById(customOAuth2User.getUserId()) .orElseThrow(UserNotFoundException::new); + Collection allBookmarks = bookmarkRepository.findAllByUserAndDeletedFalse(user); + List storeIds = bookmarkRepository.findAllByUserAndDeletedFalse(user) .stream() .map(Bookmark::getStore) .map(Store::getStoreId) .toList(); - Set bookmarkedSet = new HashSet<>(storeIds); + Map bookmarkMap = allBookmarks.stream() + .collect(Collectors.toMap( + b -> b.getStore().getStoreId(), + Bookmark::getId + )); - return storeService.getAllStoresByPageAndDeparments(storeIds, bookmarkedSet); + return storeService.getAllStoresByPageAndDeparments(storeIds, bookmarkMap); } @Transactional @@ -89,7 +95,7 @@ public String deleteBookmark(Long storeId, CustomOAuth2User customOAuth2User) { .orElseThrow(StoreNotFoundException::new); Bookmark bookmark = bookmarkRepository.findByUserAndStoreAndDeletedFalse(user, store) - .orElseThrow(BookmarkNotFoundException::new); + .orElseThrow(AlreadyDeletedBookmarkException::new); if (!Objects.equals(bookmark.getUser().getId(), customOAuth2User.getUserId())) { throw new IllegalArgumentException("you can only delete your own bookmark"); diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreDetailReadResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreDetailReadResponse.java index b2ab0295..e84c21c1 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreDetailReadResponse.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreDetailReadResponse.java @@ -15,6 +15,7 @@ @Builder public class StoreDetailReadResponse { private Long storeId; + private Long bookmarkId; private Boolean isBookmark; private Long waitingCount; private Boolean isWaiting; @@ -33,7 +34,7 @@ public class StoreDetailReadResponse { private LocalDateTime createdAt; public static StoreDetailReadResponse fromEntity( - Store store, List allImages, String departmentName, Long waitingCount, Boolean isBookmark, Boolean isWaiting + Store store, Long bookmarkId, List allImages, String departmentName, Long waitingCount, Boolean isBookmark, Boolean isWaiting ) { StoreImageUploadResponse profile = allImages.stream() @@ -47,6 +48,7 @@ public static StoreDetailReadResponse fromEntity( return StoreDetailReadResponse.builder() .storeId(store.getStoreId()) + .bookmarkId(bookmarkId) .isBookmark(isBookmark) .waitingCount(waitingCount) .isWaiting(isWaiting) diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StorePageReadResponse.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StorePageReadResponse.java index f66b45e9..cabee501 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StorePageReadResponse.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StorePageReadResponse.java @@ -15,6 +15,7 @@ @Builder public class StorePageReadResponse { private Long storeId; + private Long bookmarkId; private Boolean isBookmark; private Long waitingCount; private Long departmentId; @@ -31,7 +32,7 @@ public class StorePageReadResponse { private Boolean deleted; private LocalDateTime createdAt; - public static StorePageReadResponse fromEntity(Store store, List allImages, String departmentName, Long waitingCount, Boolean isBookmark) { + public static StorePageReadResponse fromEntity(Store store, Long bookmarkId, List allImages, String departmentName, Long waitingCount, Boolean isBookmark) { StoreImageUploadResponse profile = allImages.stream() .filter(image -> image.getImageType() == ImageType.PROFILE) @@ -44,6 +45,7 @@ public static StorePageReadResponse fromEntity(Store store, List getStoresByWaitingCount(boolean desc); - List getAllStoresByPageAndDeparments(List storeIds, Set bookmarkedSet); + List getAllStoresByPageAndDeparments(List storeIds, Map bookmarkMap); } diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java index 6082ae37..c49b4718 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java @@ -1,11 +1,14 @@ package com.nowait.applicationuser.store.service; +import java.awt.print.Book; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.Collection; import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; @@ -42,6 +45,7 @@ import com.nowait.domaincorerdb.user.repository.UserRepository; import com.nowait.domaincoreredis.common.util.RedisKeyUtils; import com.nowait.domainuserrdb.bookmark.entity.Bookmark; +import com.nowait.domainuserrdb.bookmark.exception.BookmarkNotFoundException; import com.nowait.domainuserrdb.bookmark.repository.BookmarkRepository; import com.nowait.domainuserrdb.oauth.dto.CustomOAuth2User; @@ -56,12 +60,12 @@ public class StoreServiceImpl implements StoreService { private final DepartmentRepository departmentRepository; private final StringRedisTemplate redisTemplate; private final BookmarkRepository bookmarkRepository; - private final UserRepository userRepository; private final WaitingUserRedisRepository waitingRepo; @Override @Transactional(readOnly = true) - public StoreDepartmentReadResponse getAllStoresByPageAndDeparments(Pageable pageable, CustomOAuth2User customOAuth2User) { + public StoreDepartmentReadResponse getAllStoresByPageAndDeparments(Pageable pageable, + CustomOAuth2User customOAuth2User) { User user = customOAuth2User.getUser(); @@ -78,28 +82,20 @@ public StoreDepartmentReadResponse getAllStoresByPageAndDeparments(Pageable page .distinct() .toList(); - // 2) 사용자 북마크된 storeId 집합 조회 - List storeBookmarkIds = bookmarkRepository.findAllByUserAndDeletedFalse(user) - .stream() - .map(Bookmark::getStore) - .map(Store::getStoreId) - .toList(); - Set bookmarkedSet = new HashSet<>(storeIds); - // 2-1) Redis에서 각 Store의 웨이팅 사이즈 조회 Map waitingSizeMap = storeIds.stream() - .collect(Collectors.toMap( + .collect(Collectors.toMap( Function.identity(), - storeId -> { - String key = "waiting:" + storeId; - try { - return redisTemplate.opsForZSet().zCard(key); - } catch (Exception e) { - return 0L; // Redis 접근 실패 시 0으로 처리 - } + storeId -> { + String key = "waiting:" + storeId; + try { + return redisTemplate.opsForZSet().zCard(key); + } catch (Exception e) { + return 0L; // Redis 접근 실패 시 0으로 처리 + } - } - )); + } + )); // 3) 각 StoreId에 해당하는 이미지 조회 List allImages = storeImageRepository.findByStore_StoreIdIn(storeIds); @@ -109,7 +105,6 @@ public StoreDepartmentReadResponse getAllStoresByPageAndDeparments(Pageable page StoreImageUploadResponse::getStoreId )); - // 4) 각 DepartmentId에 해당하는 이름 조회 List allDepts = departmentRepository.findAllById(deptIds); Map deptNameMap = allDepts.stream() @@ -118,21 +113,24 @@ public StoreDepartmentReadResponse getAllStoresByPageAndDeparments(Pageable page Department::getName )); - List allBookmarks = bookmarkRepository.findStoreIdByUserAndDeletedFalse(user); - Map bookmarkMap = allBookmarks.stream() + // 5) 북마크 조회 + Collection allBookmarks = bookmarkRepository.findAllByUserAndDeletedFalse(user); + Map bookmarkIdMap = allBookmarks.stream() .collect(Collectors.toMap( - bookmark -> bookmark.getStore().getStoreId(), - b -> Boolean.TRUE + b -> b.getStore().getStoreId(), + Bookmark::getId )); // 5) Dto 매핑 List content = stores.stream() .map(store -> { + Long bookmarkId = bookmarkIdMap.get(store.getStoreId()); + boolean isBookmark = bookmarkId != null; List imgs = imageMap.getOrDefault(store.getStoreId(), List.of()); String departmentName = deptNameMap.getOrDefault(store.getDepartmentId(), "Unknown Department"); Long waitingCount = waitingSizeMap.getOrDefault(store.getStoreId(), 0L); - Boolean isBookmark = bookmarkMap.getOrDefault(store.getStoreId(), false); - return StorePageReadResponse.fromEntity(store, imgs, departmentName, waitingCount, isBookmark); + + return StorePageReadResponse.fromEntity(store, bookmarkId, imgs, departmentName, waitingCount, isBookmark); }) .toList(); @@ -144,9 +142,10 @@ public StoreDepartmentReadResponse getAllStoresByPageAndDeparments(Pageable page @Override @Transactional(readOnly = true) public StoreDetailReadResponse getStoreByStoreId(Long storeId, CustomOAuth2User customOAuth2User) { - if (storeId == null) throw new StoreParamEmptyException(); - User user = userRepository.findById(customOAuth2User.getUserId()) - .orElseThrow(UserNotFoundException::new); + + if (storeId == null) + throw new StoreParamEmptyException(); + User user = customOAuth2User.getUser(); Store store = storeRepository.findByStoreIdAndDeletedFalse(storeId) .orElseThrow(StoreNotFoundException::new); @@ -155,7 +154,9 @@ public StoreDetailReadResponse getStoreByStoreId(Long storeId, CustomOAuth2User .map(Department::getName) .orElse("Unknown Department"); - boolean isBookmark = bookmarkRepository.existsByUserAndStoreAndDeletedFalse(user, store); + Optional bookmark = bookmarkRepository.findByUserAndStoreAndDeletedFalse(user, store); + boolean isBookmark = bookmark.isPresent(); + Long bookmarkId = isBookmark ? bookmark.get().getId() : null; // 2-1) Redis에서 각 Store의 웨이팅 사이즈 조회 String key = "waiting:" + storeId; @@ -167,7 +168,8 @@ public StoreDetailReadResponse getStoreByStoreId(Long storeId, CustomOAuth2User .map(StoreImageUploadResponse::fromEntity) .toList(); - return StoreDetailReadResponse.fromEntity(store, imageDto, departmentName, waitingSize, isBookmark, userWaiting); + return StoreDetailReadResponse.fromEntity(store, bookmarkId, imageDto, departmentName, waitingSize, isBookmark, + userWaiting); } @Override @@ -255,7 +257,8 @@ public List getStoresByWaitingCount(boolean desc) { // zset 타입인지 확인 DataType type = redisTemplate.type(key); - if (type == null || !"zset".equals(type.code())) continue; + if (type == null || !"zset".equals(type.code())) + continue; Long count = redisTemplate.opsForZSet().zCard(key); String storeId = key.replace(PREFIX, ""); @@ -284,7 +287,8 @@ public List getStoresByWaitingCount(boolean desc) { // 정렬 로직: 대기 인원 기준 desc/asc Comparator comparator = Comparator.comparing(StoreWaitingInfo::getWaitingCount); - if (desc) comparator = comparator.reversed(); + if (desc) + comparator = comparator.reversed(); result.sort(comparator); return result.stream() @@ -300,10 +304,10 @@ private RedisConnection getSafeConnection() { return factory.getConnection(); } - @Override @Transactional(readOnly = true) - public List getAllStoresByPageAndDeparments(List storeIds, Set bookmarkedSet) { + public List getAllStoresByPageAndDeparments(List storeIds, + Map bookmarkMap) { // 1) 페이징된 Store 스냅샷 조회 List stores = storeRepository.findAllByStoreIdInOrderByStoreIdAsc(storeIds); @@ -336,7 +340,6 @@ public List getAllStoresByPageAndDeparments(List st StoreImageUploadResponse::getStoreId )); - // 4) 각 DepartmentId에 해당하는 이름 조회 List allDepts = departmentRepository.findAllById(deptIds); Map deptNameMap = allDepts.stream() @@ -348,15 +351,18 @@ public List getAllStoresByPageAndDeparments(List st // 5) Dto 매핑 List content = stores.stream() .map(store -> { + Long bookmarkId = bookmarkMap.get(store.getStoreId()); + boolean isBookmark = bookmarkId != null; + List imgs = imageMap .getOrDefault(store.getStoreId(), List.of()); String departmentName = deptNameMap .getOrDefault(store.getDepartmentId(), "Unknown Department"); Long waitingCount = waitingSizeMap.getOrDefault(store.getStoreId(), 0L); - boolean isBookmark = bookmarkedSet.contains(store.getStoreId()); - return StorePageReadResponse.fromEntity(store, imgs, departmentName, waitingCount, isBookmark); + return StorePageReadResponse.fromEntity(store, bookmarkId, imgs, departmentName, waitingCount, + isBookmark); }) .toList(); diff --git a/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreRepository.java index 05e689fc..921a0ad2 100644 --- a/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreRepository.java @@ -16,8 +16,6 @@ @Repository public interface StoreRepository extends JpaRepository, StoreCustomRepository { - List findAllByDeletedFalse(); - Optional findByStoreIdAndDeletedFalse(Long storeId); Slice findAllByDeletedFalseOrderByStoreIdAsc(Pageable pageable); diff --git a/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/repository/BookmarkRepository.java b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/repository/BookmarkRepository.java index bac91e52..fc9e0a23 100644 --- a/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/repository/BookmarkRepository.java +++ b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/repository/BookmarkRepository.java @@ -15,7 +15,6 @@ @Repository public interface BookmarkRepository extends JpaRepository { - boolean existsByUserAndStoreAndDeletedFalse(User user, Store store); Optional findByUserAndStoreAndDeletedFalse(User user, Store store); @@ -24,16 +23,4 @@ public interface BookmarkRepository extends JpaRepository { Collection findAllByUserAndDeletedFalse(User user); List findStoreIdByUserAndDeletedFalse(User user); - - @Query(""" - select b - from Bookmark b - where b.user.id = :userId - and b.store.storeId = :storeId - and b.deleted = false - """) - Optional findActiveByUserIdAndStoreId( - @Param("storeId") Long storeId, - @Param("userId") Long userId - ); } From 61ff34d67b9efad7603ab33c589194deeb278aa3 Mon Sep 17 00:00:00 2001 From: Jihun Kim Date: Tue, 29 Jul 2025 23:39:54 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat(Bookmark):=20bookmark=20=EC=98=88?= =?UTF-8?q?=EC=99=B8=EC=B2=98=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/GlobalExceptionHandler.java | 12 +++++++++++- .../com/nowait/common/exception/ErrorMessage.java | 4 +++- .../exception/AlreadyDeletedBookmarkException.java | 7 +++++++ .../exception/BookmarkNotFoundException.java | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/AlreadyDeletedBookmarkException.java diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java index cece9625..919e986d 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/exception/GlobalExceptionHandler.java @@ -37,6 +37,7 @@ import com.nowait.domaincorerdb.store.exception.StoreWaitingDisabledException; import com.nowait.domaincorerdb.token.exception.BusinessException; import com.nowait.domaincorerdb.user.exception.UserNotFoundException; +import com.nowait.domainuserrdb.bookmark.exception.AlreadyDeletedBookmarkException; import com.nowait.domainuserrdb.bookmark.exception.BookmarkNotFoundException; import com.nowait.domainuserrdb.bookmark.exception.BookmarkOwnerMismatchException; import com.nowait.domainuserrdb.bookmark.exception.DuplicateBookmarkException; @@ -153,7 +154,16 @@ public ErrorResponse handleBookmarkNotFoundException( BookmarkNotFoundException e, WebRequest request) { alarm(e, request); log.error("handleBookmarkNotFoundException", e); - return new ErrorResponse(e.getMessage(), BOOKMARK_NOT_FOUND.getCode()); + return new ErrorResponse(e.getMessage(), NOT_FOUND_BOOKMARK.getCode()); + } + + @ResponseStatus(BAD_REQUEST) + @ExceptionHandler(AlreadyDeletedBookmarkException.class) + public ErrorResponse handleAlreadyDeleteBookmark( + AlreadyDeletedBookmarkException e, WebRequest request) { + alarm(e, request); + log.error("AlreadyDeletedBookmarkException", e); + return new ErrorResponse(e.getMessage(), ALREADY_DELETED_BOOKMARK.getCode()); } @ResponseStatus(NOT_FOUND) diff --git a/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java b/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java index 979449ca..6b6b92b9 100644 --- a/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java +++ b/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java @@ -32,7 +32,9 @@ public enum ErrorMessage { // bookmark DUPLICATE_BOOKMARK("이미 북마크한 주점입니다.", "bookmark001"), NOT_OWN_BOOKMARK("해당 주점은 다른 사용자가 북마크한 주점입니다.", "bookmark002"), - BOOKMARK_NOT_FOUND("이미 북마크 삭제된 주점입니다.", "bookmark002"), + NOT_FOUND_BOOKMARK("북마크를 찾을 수 없습니다", "bookmark003"), + ALREADY_DELETED_BOOKMARK("이미 삭제된 북마크입니다.", "bookmark003"), + // menu MENU_PARAMETER_EMPTY("메뉴 생성 시 파라미터 정보가 없습니다.", "menu001"), diff --git a/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/AlreadyDeletedBookmarkException.java b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/AlreadyDeletedBookmarkException.java new file mode 100644 index 00000000..1e48a5e8 --- /dev/null +++ b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/AlreadyDeletedBookmarkException.java @@ -0,0 +1,7 @@ +package com.nowait.domainuserrdb.bookmark.exception; + +import com.nowait.common.exception.ErrorMessage; + +public class AlreadyDeletedBookmarkException extends RuntimeException { + public AlreadyDeletedBookmarkException() { super(ErrorMessage.ALREADY_DELETED_BOOKMARK.getMessage()); } +} diff --git a/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/BookmarkNotFoundException.java b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/BookmarkNotFoundException.java index ae29fd90..936296d8 100644 --- a/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/BookmarkNotFoundException.java +++ b/nowait-domain/domain-user-rdb/src/main/java/com/nowait/domainuserrdb/bookmark/exception/BookmarkNotFoundException.java @@ -4,6 +4,6 @@ public class BookmarkNotFoundException extends RuntimeException { public BookmarkNotFoundException() { - super(ErrorMessage.BOOKMARK_NOT_FOUND.getMessage()); + super(ErrorMessage.NOT_FOUND_BOOKMARK.getMessage()); } } From 8aa41fcf50b9aa81da79f65d300fe6e24b3a1aa2 Mon Sep 17 00:00:00 2001 From: Jihun Kim Date: Wed, 30 Jul 2025 00:01:32 +0900 Subject: [PATCH 3/3] =?UTF-8?q?refactor(Bookmark):=20=EC=A4=91=EB=B3=B5=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=EC=BD=94=EB=93=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/nowait/common/exception/ErrorMessage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java b/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java index 6b6b92b9..b8a416da 100644 --- a/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java +++ b/nowait-common/src/main/java/com/nowait/common/exception/ErrorMessage.java @@ -33,7 +33,7 @@ public enum ErrorMessage { DUPLICATE_BOOKMARK("이미 북마크한 주점입니다.", "bookmark001"), NOT_OWN_BOOKMARK("해당 주점은 다른 사용자가 북마크한 주점입니다.", "bookmark002"), NOT_FOUND_BOOKMARK("북마크를 찾을 수 없습니다", "bookmark003"), - ALREADY_DELETED_BOOKMARK("이미 삭제된 북마크입니다.", "bookmark003"), + ALREADY_DELETED_BOOKMARK("이미 삭제된 북마크입니다.", "bookmark004"), // menu