33import com .cozymate .cozymate_server .domain .auth .repository .TokenRepository ;
44import com .cozymate .cozymate_server .domain .chat .repository .ChatRepository ;
55import com .cozymate .cozymate_server .domain .chatroom .repository .ChatRoomRepository ;
6+ import com .cozymate .cozymate_server .domain .favorite .enums .FavoriteType ;
7+ import com .cozymate .cozymate_server .domain .favorite .repository .FavoriteRepository ;
68import com .cozymate .cozymate_server .domain .fcm .repository .FcmRepository ;
9+ import com .cozymate .cozymate_server .domain .inquiry .repository .InquiryRepository ;
710import com .cozymate .cozymate_server .domain .mail .repository .MailRepository ;
811import com .cozymate .cozymate_server .domain .mate .Mate ;
912import com .cozymate .cozymate_server .domain .mate .enums .EntryStatus ;
2023import com .cozymate .cozymate_server .domain .postimage .PostImageRepository ;
2124import com .cozymate .cozymate_server .domain .report .repository .ReportRepository ;
2225import com .cozymate .cozymate_server .domain .role .repository .RoleRepository ;
23- import com .cozymate .cozymate_server .domain .room .repository .RoomRepository ;
2426import com .cozymate .cozymate_server .domain .room .service .RoomCommandService ;
2527import com .cozymate .cozymate_server .domain .roomlog .repository .RoomLogRepository ;
2628import com .cozymate .cozymate_server .domain .todo .repository .TodoRepository ;
@@ -56,6 +58,10 @@ public class MemberWithdrawService {
5658
5759 private final RoomCommandService roomCommandService ;
5860
61+ private final FavoriteRepository favoriteRepository ;
62+
63+ private final InquiryRepository inquiryRepository ;
64+
5965
6066 /**
6167 * 회원 탈퇴 로직을 처리하는 메서드. 관련된 모든 데이터를 삭제한 뒤, 최종적으로 회원 정보를 삭제한다.
@@ -75,13 +81,18 @@ public void withdraw(Member member) {
7581 * 회원과 연관된 데이터를 삭제하는 메서드.
7682 */
7783
78- private void deleteRelatedWithMember (Member member ) {
84+ @ Transactional
85+ public void deleteRelatedWithMember (Member member ) {
7986 log .debug ("사용자 관련 데이터 삭제 시작" );
8087 tokenRepository .deleteById (member .getClientId ());
8188 mailRepository .deleteById (member .getId ());
82-
8389 log .debug ("토큰,메일 삭제 완료" );
8490
91+
92+ favoriteRepository .deleteByTargetIdAndFavoriteType (member .getId (), FavoriteType .MEMBER );
93+ favoriteRepository .deleteByMemberId (member .getId ());
94+ log .debug ("찜 삭제 완료" );
95+
8596 memberStatRepository .deleteByMemberId (member .getId ());
8697 memberStatPreferenceRepository .deleteByMemberId (member .getId ());
8798 memberStatEqualityRepository .deleteByMemberAIdOrMemberBId (member .getId ());
@@ -91,8 +102,9 @@ private void deleteRelatedWithMember(Member member) {
91102 handleChatAndChatRoom (member );
92103
93104 reportRepository .bulkDeleteReporter (member );
105+ inquiryRepository .bulkDeleteMember (member );
94106
95- log .debug ("신고내역 처리 완료" );
107+ log .debug ("문의, 신고내역 처리 완료" );
96108
97109 fcmRepository .deleteAllByMemberId (member .getId ());
98110 notificationLogRepository .deleteAllByMemberId (member .getId ());
@@ -111,7 +123,6 @@ private void deleteRelatedWithMember(Member member) {
111123
112124 log .debug ("mate 삭제 완료" );
113125
114-
115126 }
116127
117128 /**
0 commit comments