diff --git a/src/main/java/cnu/mvc/domain/member/MemberRepository.java b/src/main/java/cnu/mvc/domain/member/MemberRepository.java index 1b273fc..5e1bdfe 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberRepository.java +++ b/src/main/java/cnu/mvc/domain/member/MemberRepository.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.Map; + @Repository public class MemberRepository { @@ -22,6 +23,11 @@ public Member findById(Long id) { // 구현 public Member findByEmail(String email) { + for (Member member : store.values()){ + if ( member.getEmail().equals(email)) { + return member; + } + } 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..a5722a4 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberService.java +++ b/src/main/java/cnu/mvc/domain/member/MemberService.java @@ -10,12 +10,22 @@ public class MemberService { private final MemberRepository memberRepository; public Member join(Member member){ + // 이메일 중복 구현 + if(findByEmail(member.getEmail()) != null ) { + throw new IllegalStateException("이미 존재하는 이메일 계정입니다."); + } return memberRepository.save(member); } public Member validateMember(String email, String pwd) { - Member findMember = findById(1L); - return findMember; + Member check_member = findByEmail(email); + + if (check_member == null || !check_member.getPwd().equals(pwd)){ + + throw new IllegalArgumentException("이메일 또는 비밀번호를 확인해주세요."); + + } + return check_member; } public Member findById(Long id) { @@ -26,5 +36,4 @@ public Member findById(Long id) { public Member findByEmail(String email) { return memberRepository.findByEmail(email); } - }