diff --git a/src/main/java/cnu/mvc/domain/member/MemberRepository.java b/src/main/java/cnu/mvc/domain/member/MemberRepository.java index 1b273fc..ad41708 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberRepository.java +++ b/src/main/java/cnu/mvc/domain/member/MemberRepository.java @@ -22,7 +22,12 @@ 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 member; + } + } + return null; // 없을 경우 {return 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..85cdff0 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberService.java +++ b/src/main/java/cnu/mvc/domain/member/MemberService.java @@ -9,12 +9,19 @@ public class MemberService { private final MemberRepository memberRepository; - public Member join(Member member){ + public Member join(Member member) { + if (findByEmail(member.getEmail()) != null) { + throw new RuntimeException("이미 존재하는 이메일 계정입니다."); + } 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 RuntimeException("이메일 또는 비밀번호를 확인해주세요"); // 아이디 또는 비밀번호가 잘못되었을 경우 { throw } + } return findMember; }