From 117b6f227540a94265a3b6a51416ea54cbb2f94a Mon Sep 17 00:00:00 2001 From: YuHyeon Date: Thu, 17 Apr 2025 09:33:27 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B5=9C=EC=A2=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cnu/mvc/domain/member/MemberRepository.java | 5 ++++- .../java/cnu/mvc/domain/member/MemberService.java | 13 +++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/cnu/mvc/domain/member/MemberRepository.java b/src/main/java/cnu/mvc/domain/member/MemberRepository.java index 1b273fc..7b95688 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberRepository.java +++ b/src/main/java/cnu/mvc/domain/member/MemberRepository.java @@ -22,7 +22,10 @@ public Member findById(Long id) { // 구현 public Member findByEmail(String email) { - return null; + return store.values().stream() + .filter(member -> member.getEmail().equals(email)) + .findFirst() + .orElse(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..b0afeac 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberService.java +++ b/src/main/java/cnu/mvc/domain/member/MemberService.java @@ -10,12 +10,20 @@ public class MemberService { private final MemberRepository memberRepository; public Member join(Member member){ + if (memberRepository.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 member = memberRepository.findByEmail(email); + + if (member == null || !member.getPwd().equals(pwd)) { + throw new IllegalArgumentException("이메일 또는 비밀번호가 일치하지 않습니다."); + } + return member; } public Member findById(Long id) { @@ -24,6 +32,7 @@ public Member findById(Long id) { // 구현 public Member findByEmail(String email) { + return memberRepository.findByEmail(email); }