Skip to content

Commit 953d273

Browse files
authored
Merge pull request #71 from Block-Guard/fix/#70/fix-error-msg
[Fix] 회원가입오류 메세지 수정
2 parents 7c9c335 + 6210590 commit 953d273

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

src/main/java/com/blockguard/server/domain/auth/application/AuthService.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.security.SecureRandom;
2222
import java.util.Collections;
2323
import java.util.List;
24+
import java.util.Optional;
2425
import java.util.Random;
2526
import java.util.stream.Collectors;
2627

@@ -32,7 +33,14 @@ public class AuthService {
3233
private JwtTokenGenerator jwtTokenGenerator;
3334

3435
public RegisterResponse register(RegisterRequest registerRequest) {
35-
if (userRepository.findByEmail((registerRequest.getEmail())).isPresent()) {
36+
37+
Optional<User> everyUser = userRepository.findAnyByEmail(registerRequest.getEmail());
38+
39+
if (everyUser.isPresent()) {
40+
User user = everyUser.get();
41+
if (user.getDeletedAt() != null) {
42+
throw new BusinessExceptionHandler(ErrorCode.DELETED_USER_CANNOT_REJOIN);
43+
}
3644
throw new BusinessExceptionHandler(ErrorCode.DUPLICATED_EMAIL);
3745
}
3846

src/main/java/com/blockguard/server/domain/user/dao/UserRepository.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,18 @@
22

33
import com.blockguard.server.domain.user.domain.User;
44
import org.springframework.data.jpa.repository.JpaRepository;
5+
import org.springframework.data.jpa.repository.Query;
6+
import org.springframework.data.repository.query.Param;
57

68
import java.time.LocalDate;
79
import java.util.Optional;
810

911
public interface UserRepository extends JpaRepository<User, Long> {
1012
Optional<User> findByEmail(String email);
1113

14+
@Query(value = "SELECT * FROM users WHERE email = :email LIMIT 1", nativeQuery = true)
15+
Optional<User> findAnyByEmail(@Param("email") String email);
16+
17+
1218
Optional<User> findByNameAndPhoneNumberAndBirthDate(String name, String phoneNumber, LocalDate birthDate);
1319
}

src/main/java/com/blockguard/server/global/common/codes/ErrorCode.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public enum ErrorCode {
3838
FAIL_TO_CRAWLING_NEWS(HttpStatus.BAD_REQUEST, 4035, "뉴스 크롤링에 실패하였습니다."),
3939
MUST_BE_POSITIVE_NUMBER(HttpStatus.BAD_REQUEST, 4036, "페이지와 사이즈는 1이상의 값을 입력해야합니다."),
4040
UPDATE_PROFILE_CONFLICT(HttpStatus.CONFLICT, 4037, "기본 이미지로 변경 요청과 프로필 사진 수정 요청이 동시에 들어올 수 없습니다."),
41+
DELETED_USER_CANNOT_REJOIN(HttpStatus.BAD_REQUEST, 4038,"탈퇴한 회원은 재가입할 수 없습니다."),
4142

4243
// 5000~ : server error
4344
INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, 5000, "서버 오류가 발생했습니다."),

0 commit comments

Comments
 (0)