diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..fe38da8 Binary files /dev/null and b/.DS_Store differ diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000..69134ed Binary files /dev/null and b/src/.DS_Store differ diff --git a/src/main/.DS_Store b/src/main/.DS_Store new file mode 100644 index 0000000..410c4fb Binary files /dev/null and b/src/main/.DS_Store differ diff --git a/src/main/java/.DS_Store b/src/main/java/.DS_Store new file mode 100644 index 0000000..78fcc8c Binary files /dev/null and b/src/main/java/.DS_Store differ diff --git a/src/main/java/cnu/.DS_Store b/src/main/java/cnu/.DS_Store new file mode 100644 index 0000000..dd890b0 Binary files /dev/null and b/src/main/java/cnu/.DS_Store differ diff --git a/src/main/java/cnu/mvc/.DS_Store b/src/main/java/cnu/mvc/.DS_Store new file mode 100644 index 0000000..29d62b6 Binary files /dev/null and b/src/main/java/cnu/mvc/.DS_Store differ diff --git a/src/main/java/cnu/mvc/domain/.DS_Store b/src/main/java/cnu/mvc/domain/.DS_Store new file mode 100644 index 0000000..201b8df Binary files /dev/null and b/src/main/java/cnu/mvc/domain/.DS_Store differ diff --git a/src/main/java/cnu/mvc/domain/member/MemberRepository.java b/src/main/java/cnu/mvc/domain/member/MemberRepository.java index 1b273fc..fdf1f70 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberRepository.java +++ b/src/main/java/cnu/mvc/domain/member/MemberRepository.java @@ -21,8 +21,14 @@ public Member findById(Long id) { } // 구현 + // 이메일이 일치하는 회원 반환 public Member findByEmail(String email) { - return null; + for (Member member : store.values()) { + if (member.getEmail().equals(email)) { + return member; // 찾으면 반환 + } + } + return null; // 없으면 null } } diff --git a/src/main/java/cnu/mvc/domain/member/MemberService.java b/src/main/java/cnu/mvc/domain/member/MemberService.java index b8e785e..6984ac8 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberService.java +++ b/src/main/java/cnu/mvc/domain/member/MemberService.java @@ -9,12 +9,27 @@ public class MemberService { private final MemberRepository memberRepository; - public Member join(Member member){ + // 회원 가입 + public Member join(Member member) { + Member findMember = findByEmail(member.getEmail()); + if (findMember != null) { + // 이미 등록된 이메일인 경우 예외 발생 + throw new IllegalStateException("이미 존재하는 이메일 계정입니다."); + } + // 새 회원 저장 return memberRepository.save(member); } + // 로그인 유효성 검사 public Member validateMember(String email, String pwd) { - Member findMember = findById(1L); + Member findMember = findByEmail(email); + + // 이메일이 없거나 비밀번호가 틀린 경우 예외 발생 + if (findMember == null || !findMember.getPwd().equals(pwd)) { + throw new IllegalStateException("이메일 또는 비밀번호를 확인해주세요."); + } + + // 로그인 성공 return findMember; }