From 3d44bba863c734ee1dda4626b63fdea7dc9bc4c6 Mon Sep 17 00:00:00 2001 From: swa07016 Date: Sun, 10 Mar 2024 16:21:10 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=9A=8C=EC=9B=90=ED=83=88=ED=87=B4=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20(ShopBookMark=20=EC=82=AD=EC=A0=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wineyapi/user/service/UserServiceImpl.java | 11 +++++++++++ .../shop/repository/ShopBookMarkRepository.java | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/Winey-API/src/main/java/com/example/wineyapi/user/service/UserServiceImpl.java b/Winey-API/src/main/java/com/example/wineyapi/user/service/UserServiceImpl.java index 8e578b29..f2a9fd3a 100644 --- a/Winey-API/src/main/java/com/example/wineyapi/user/service/UserServiceImpl.java +++ b/Winey-API/src/main/java/com/example/wineyapi/user/service/UserServiceImpl.java @@ -17,6 +17,9 @@ import com.example.wineydomain.badge.repository.UserWineBadgeRepository; import com.example.wineydomain.common.model.Status; import com.example.wineydomain.common.model.VerifyMessageStatus; +import com.example.wineydomain.shop.entity.BookMarkPk; +import com.example.wineydomain.shop.entity.ShopBookMark; +import com.example.wineydomain.shop.repository.ShopBookMarkRepository; import com.example.wineydomain.tastingNote.repository.TastingNoteRepository; import com.example.wineydomain.user.entity.SocialType; import com.example.wineydomain.user.entity.User; @@ -63,6 +66,7 @@ public class UserServiceImpl implements UserService { private final UserFcmTokenRepository userFcmTokenRepository; private final UserExitHistoryRepository userExitHistoryRepository; private final UserConnectionRepository userConnectionRepository; + private final ShopBookMarkRepository shopBookMarkRepository; private DefaultMessageService coolSmsService; @@ -107,6 +111,7 @@ public String getKakaoAccessToken(String code) { 4. 추천 와인 1 : N - User엔티티에서 그래프탐색으로 추천와인목록을 조회할 경우가 없을 것 같아서 양방향 매핑은 하지 않고 유저 삭제시 추천와인 리포지토리로 목록을 삭제하는 것으로 결정했습니다. + + FCM 토큰, ShopBookMark */ @Transactional @Override @@ -134,6 +139,12 @@ public Long delete(Long id, String reason) { .collect(Collectors.toList()); userFcmTokenRepository.deleteAllByIdInBatch(userFcmTokenIds); + // 상점 북마크 삭제 + List shopBookMarkList = shopBookMarkRepository.findByUser(user); + List shopBookMarkIds = shopBookMarkList.stream() + .map(ShopBookMark::getId) + .collect(Collectors.toList()); + shopBookMarkRepository.deleteAllByIdInBatch(shopBookMarkIds); // 탈퇴 히스토리 테이블에 탈퇴 정보 기록 userExitHistoryRepository.save(UserExitHistory.from(user, reason)); diff --git a/Winey-Domain/src/main/java/com/example/wineydomain/shop/repository/ShopBookMarkRepository.java b/Winey-Domain/src/main/java/com/example/wineydomain/shop/repository/ShopBookMarkRepository.java index f7d73e9e..4a216bf8 100644 --- a/Winey-Domain/src/main/java/com/example/wineydomain/shop/repository/ShopBookMarkRepository.java +++ b/Winey-Domain/src/main/java/com/example/wineydomain/shop/repository/ShopBookMarkRepository.java @@ -1,9 +1,15 @@ package com.example.wineydomain.shop.repository; +import com.example.wineydomain.user.entity.User; import org.springframework.data.jpa.repository.JpaRepository; import com.example.wineydomain.shop.entity.BookMarkPk; import com.example.wineydomain.shop.entity.ShopBookMark; +import org.springframework.data.jpa.repository.Query; + +import java.util.List; public interface ShopBookMarkRepository extends JpaRepository { + @Query(value = "select s from ShopBookMark s where s.id.user = :user") + List findByUser(User user); }