diff --git a/src/main/java/com/elice/ustory/domain/user/repository/UserRepository.java b/src/main/java/com/elice/ustory/domain/user/repository/UserRepository.java index f038bfa..084c8c0 100644 --- a/src/main/java/com/elice/ustory/domain/user/repository/UserRepository.java +++ b/src/main/java/com/elice/ustory/domain/user/repository/UserRepository.java @@ -15,5 +15,8 @@ public interface UserRepository extends JpaRepository { boolean existsByEmail(String loginEmail); @Query(value = "SELECT COUNT(*) FROM users u WHERE u.email = :email", nativeQuery = true) - int existsByEmailWithSoftDeleted(@Param("email") String email); + int countByEmailWithSoftDeleted(@Param("email") String email); + + @Query(value = "SELECT COUNT(*) FROM users u WHERE u.nickname = :nickname", nativeQuery = true) + int countByNicknameWithSoftDeleted(@Param("nickname") String nickname); } diff --git a/src/main/java/com/elice/ustory/domain/user/service/EmailService.java b/src/main/java/com/elice/ustory/domain/user/service/EmailService.java index 0030b8f..d9b2862 100644 --- a/src/main/java/com/elice/ustory/domain/user/service/EmailService.java +++ b/src/main/java/com/elice/ustory/domain/user/service/EmailService.java @@ -142,7 +142,7 @@ public EmailVerifyResponse validateEmail(String email) { .build(); } - int emailCountWithSoftDeleted = userRepository.existsByEmailWithSoftDeleted(email); + int emailCountWithSoftDeleted = userRepository.countByEmailWithSoftDeleted(email); if (emailCountWithSoftDeleted > 0) { return EmailVerifyResponse.builder() .isSuccess(false) diff --git a/src/main/java/com/elice/ustory/domain/user/service/UserService.java b/src/main/java/com/elice/ustory/domain/user/service/UserService.java index c75ef9d..005da61 100644 --- a/src/main/java/com/elice/ustory/domain/user/service/UserService.java +++ b/src/main/java/com/elice/ustory/domain/user/service/UserService.java @@ -79,7 +79,9 @@ public Users signUp(SignUpRequest signUpRequest) { // 1-2. 이메일 중복 재확인 String email = signUpRequest.getEmail(); - if (userRepository.findByEmail(email).isPresent()) { + + int emailCountWithSoftDeleted = userRepository.countByEmailWithSoftDeleted(email); + if (emailCountWithSoftDeleted > 0) { throw new ConflictException(String.format(UserMessageConstants.DUPLICATE_EMAIL_MESSAGE, email)); } @@ -262,7 +264,8 @@ public MyPageResponse showMyPage(Long userId) { public ValidateNicknameResponse isValidNickname(ValidateNicknameRequest validateNicknameRequest) { String nickname = validateNicknameRequest.getNickname(); - if (userRepository.findByNickname(nickname).isPresent()) { + int nicknameCountWithSoftDeleted = userRepository.countByNicknameWithSoftDeleted(nickname); + if (nicknameCountWithSoftDeleted > 0) { return ValidateNicknameResponse.builder() .isValid(false) .isDuplicate(true)