Skip to content

Commit ec4c96e

Browse files
authored
Merge pull request #245 from FunD-StockProject/fix/experiment-withdrawl
Fix: 실험 진행 중이던 회원 탈퇴 불가하던 의존성 해결
2 parents 1c6e44f + 466bbe8 commit ec4c96e

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

src/main/java/com/fund/stockProject/auth/service/AuthService.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import com.fund.stockProject.auth.dto.*;
44
import com.fund.stockProject.user.entity.User;
55
import com.fund.stockProject.user.repository.UserRepository;
6+
import com.fund.stockProject.experiment.repository.ExperimentRepository;
7+
import com.fund.stockProject.experiment.repository.ExperimentTradeItemRepository;
68
import com.fund.stockProject.preference.repository.PreferenceRepository;
79
import com.fund.stockProject.notification.repository.NotificationRepository;
810
import com.fund.stockProject.notification.repository.UserDeviceTokenRepository;
@@ -31,6 +33,8 @@ public class AuthService {
3133
private final PreferenceRepository preferenceRepository;
3234
private final NotificationRepository notificationRepository;
3335
private final UserDeviceTokenRepository userDeviceTokenRepository;
36+
private final ExperimentRepository experimentRepository;
37+
private final ExperimentTradeItemRepository experimentTradeItemRepository;
3438
private final RefreshTokenRepository refreshTokenRepository;
3539
private final S3Service s3Service;
3640
private final PasswordEncoder passwordEncoder;
@@ -74,19 +78,25 @@ public void withdrawUser(String email) {
7478

7579
Integer userId = user.getId();
7680

77-
// 1. Preference 데이터 삭제 (외래 키 제약 조건 때문에 가장 먼저 삭제)
81+
// 1. ExperimentTradeItem 삭제 (외래 키 제약 조건 때문에 가장 먼저 삭제)
82+
experimentTradeItemRepository.deleteByUserId(userId);
83+
84+
// 2. Experiment 삭제
85+
experimentRepository.deleteByUserId(userId);
86+
87+
// 3. Preference 데이터 삭제
7888
preferenceRepository.deleteByUserId(userId);
7989

80-
// 2. Notification 데이터 삭제
90+
// 4. Notification 데이터 삭제
8191
notificationRepository.deleteByUserId(userId);
8292

83-
// 3. UserDeviceToken 데이터 삭제
93+
// 5. UserDeviceToken 데이터 삭제
8494
userDeviceTokenRepository.deleteByUserId(userId);
8595

86-
// 4. RefreshToken 데이터 삭제 (email 기반)
96+
// 6. RefreshToken 데이터 삭제 (email 기반)
8797
refreshTokenRepository.deleteByEmail(email);
8898

89-
// 5. 마지막으로 User 삭제
99+
// 7. 마지막으로 User 삭제
90100
userRepository.delete(user);
91101
}
92102

0 commit comments

Comments
 (0)