diff --git a/src/main/java/cnu/mvc/domain/member/MemberRepository.java b/src/main/java/cnu/mvc/domain/member/MemberRepository.java index 1b273fc..1a32960 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberRepository.java +++ b/src/main/java/cnu/mvc/domain/member/MemberRepository.java @@ -22,7 +22,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..2093ba8 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberService.java +++ b/src/main/java/cnu/mvc/domain/member/MemberService.java @@ -10,11 +10,20 @@ 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); + Member findMember = findByEmail(email); + + if(findMember == null || !findMember.getPwd().equals(pwd)) { + throw new IllegalStateException("이메일 또는 비밀번호를 확인해주세요."); + } + return findMember; } @@ -25,6 +34,11 @@ public Member findById(Long id) { // 구현 public Member findByEmail(String email) { return memberRepository.findByEmail(email); + for (Member member : store.values()) { + if(member.getEmail().equals(email)){ + return member; + } + } + return null; } - }