Skip to content

Commit 7ee4f09

Browse files
committed
fix: 유저 삭제 수정
- 차단 목록도 같이 삭제
1 parent b1a03bd commit 7ee4f09

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

src/main/java/org/dfbf/soundlink/domain/blocklist/repository/BlockListCustomRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,7 @@ public interface BlockListCustomRepository {
88
List<Blocklist> findAllByUser_UserId(Long userId);
99
Optional<Blocklist> findByUser_UserIdAndBlockedUser_LoginId(Long userId, String loginId);
1010
Optional<Blocklist> findByUser_UserIdAndBlockedUser_UserId(Long userId, Long blockedUserId);
11+
12+
// 한 유저와 관련되어 있는 모든 차단 목록을 삭제
13+
void deleteAllByUser_UserId(Long userId);
1114
}

src/main/java/org/dfbf/soundlink/domain/blocklist/repository/BlockListQueryRepository.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,20 @@ public Optional<Blocklist> findByUser_UserIdAndBlockedUser_UserId(Long userId, L
4444
jpaQueryFactory
4545
.selectFrom(qBlocklist)
4646
.where(
47-
qBlocklist.user.userId.eq(userId),
48-
qBlocklist.blockedUser.userId.eq(blockedUserId)
47+
qBlocklist.user.userId.eq(userId)
48+
.or(qBlocklist.blockedUser.userId.eq(blockedUserId))
4949
)
5050
.fetchOne()
5151
);
5252
}
53+
54+
@Override
55+
public void deleteAllByUser_UserId(Long userId) {
56+
jpaQueryFactory
57+
.delete(qBlocklist)
58+
.where(
59+
qBlocklist.user.userId.eq(userId),
60+
qBlocklist.blockedUser.userId.eq(userId))
61+
.execute();
62+
}
5363
}

src/main/java/org/dfbf/soundlink/domain/user/service/UserService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import jakarta.transaction.Transactional;
77
import lombok.RequiredArgsConstructor;
88
import lombok.extern.slf4j.Slf4j;
9+
import org.dfbf.soundlink.domain.blocklist.repository.BlockListRepository;
910
import org.dfbf.soundlink.domain.emotionRecord.entity.SpotifyMusic;
1011
import org.dfbf.soundlink.domain.emotionRecord.repository.EmotionRecordRepository;
1112
import org.dfbf.soundlink.domain.emotionRecord.repository.SpotifyMusicRepository;
@@ -54,6 +55,7 @@ public class UserService {
5455
private final TokenService tokenService;
5556

5657
private static final String domain = "";
58+
private final BlockListRepository blockListRepository;
5759

5860
// 회원가입
5961
public ResponseResult signUp(UserSignUpDto userSignUpDto) {
@@ -123,6 +125,7 @@ public ResponseResult deleteUser(Long userId) {
123125
.orElseThrow(NoUserDataException::new);
124126

125127
emotionRecordRepository.deleteByUser(user); // 유저 감정 기록 삭제
128+
blockListRepository.deleteAllByUser_UserId(user.getUserId()); // 유저 차단 목록 삭제
126129
userRepository.deleteById(userId); // 유저 삭제
127130

128131
return new ResponseResult(ErrorCode.SUCCESS);

0 commit comments

Comments
 (0)