3
3
import com .cozymate .cozymate_server .domain .auth .repository .TokenRepository ;
4
4
import com .cozymate .cozymate_server .domain .chat .repository .ChatRepository ;
5
5
import 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 ;
6
8
import com .cozymate .cozymate_server .domain .fcm .repository .FcmRepository ;
9
+ import com .cozymate .cozymate_server .domain .inquiry .repository .InquiryRepository ;
7
10
import com .cozymate .cozymate_server .domain .mail .repository .MailRepository ;
8
11
import com .cozymate .cozymate_server .domain .mate .Mate ;
9
12
import com .cozymate .cozymate_server .domain .mate .enums .EntryStatus ;
20
23
import com .cozymate .cozymate_server .domain .postimage .PostImageRepository ;
21
24
import com .cozymate .cozymate_server .domain .report .repository .ReportRepository ;
22
25
import com .cozymate .cozymate_server .domain .role .repository .RoleRepository ;
23
- import com .cozymate .cozymate_server .domain .room .repository .RoomRepository ;
24
26
import com .cozymate .cozymate_server .domain .room .service .RoomCommandService ;
25
27
import com .cozymate .cozymate_server .domain .roomlog .repository .RoomLogRepository ;
26
28
import com .cozymate .cozymate_server .domain .todo .repository .TodoRepository ;
@@ -56,6 +58,10 @@ public class MemberWithdrawService {
56
58
57
59
private final RoomCommandService roomCommandService ;
58
60
61
+ private final FavoriteRepository favoriteRepository ;
62
+
63
+ private final InquiryRepository inquiryRepository ;
64
+
59
65
60
66
/**
61
67
* 회원 탈퇴 로직을 처리하는 메서드. 관련된 모든 데이터를 삭제한 뒤, 최종적으로 회원 정보를 삭제한다.
@@ -75,13 +81,18 @@ public void withdraw(Member member) {
75
81
* 회원과 연관된 데이터를 삭제하는 메서드.
76
82
*/
77
83
78
- private void deleteRelatedWithMember (Member member ) {
84
+ @ Transactional
85
+ public void deleteRelatedWithMember (Member member ) {
79
86
log .debug ("사용자 관련 데이터 삭제 시작" );
80
87
tokenRepository .deleteById (member .getClientId ());
81
88
mailRepository .deleteById (member .getId ());
82
-
83
89
log .debug ("토큰,메일 삭제 완료" );
84
90
91
+
92
+ favoriteRepository .deleteByTargetIdAndFavoriteType (member .getId (), FavoriteType .MEMBER );
93
+ favoriteRepository .deleteByMemberId (member .getId ());
94
+ log .debug ("찜 삭제 완료" );
95
+
85
96
memberStatRepository .deleteByMemberId (member .getId ());
86
97
memberStatPreferenceRepository .deleteByMemberId (member .getId ());
87
98
memberStatEqualityRepository .deleteByMemberAIdOrMemberBId (member .getId ());
@@ -91,8 +102,9 @@ private void deleteRelatedWithMember(Member member) {
91
102
handleChatAndChatRoom (member );
92
103
93
104
reportRepository .bulkDeleteReporter (member );
105
+ inquiryRepository .bulkDeleteMember (member );
94
106
95
- log .debug ("신고내역 처리 완료" );
107
+ log .debug ("문의, 신고내역 처리 완료" );
96
108
97
109
fcmRepository .deleteAllByMemberId (member .getId ());
98
110
notificationLogRepository .deleteAllByMemberId (member .getId ());
@@ -111,7 +123,6 @@ private void deleteRelatedWithMember(Member member) {
111
123
112
124
log .debug ("mate 삭제 완료" );
113
125
114
-
115
126
}
116
127
117
128
/**
0 commit comments