diff --git a/src/main/java/cnu/mvc/domain/member/MemberRepository.java b/src/main/java/cnu/mvc/domain/member/MemberRepository.java index 1b273fc..02900fb 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberRepository.java +++ b/src/main/java/cnu/mvc/domain/member/MemberRepository.java @@ -22,6 +22,14 @@ public Member findById(Long id) { // 구현 public Member findByEmail(String email) { + // 저장소에 회원 정보 꺼냄. + for (Member member : store.values()) { + // 일치하면 반환. + if (member.getEmail().equals(email)) { + return member; + } + } + // 일치하지 않으면, 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..c5eab3e 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberService.java +++ b/src/main/java/cnu/mvc/domain/member/MemberService.java @@ -9,13 +9,24 @@ public class MemberService { private final MemberRepository memberRepository; - public Member join(Member member){ + public Member join(Member member) { + Member existingMember = memberRepository.findByEmail(member.getEmail()); + + if (existingMember != null) { + throw new IllegalArgumentException("이미 존재하는 이메일 계정입니다."); + } + return memberRepository.save(member); } public Member validateMember(String email, String pwd) { - Member findMember = findById(1L); - return findMember; + Member member = memberRepository.findByEmail(email); + + if (member == null || !member.getPwd().equals(pwd)) { + throw new IllegalArgumentException("이메일 또는 비밀번호를 확인해주세요."); + } + + return member; } public Member findById(Long id) {