From 4bbf02e578cf7b7b6c8c85a5ec1fd33955dc9ee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=9E=AC=ED=98=84?= Date: Sat, 19 Apr 2025 17:17:44 +0900 Subject: [PATCH] =?UTF-8?q?202302616-=EC=A0=95=EC=9E=AC=ED=98=84=20?= =?UTF-8?q?=EC=B5=9C=EC=A2=85=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cnu/mvc/domain/member/MemberRepository.java | 11 ++++++++--- .../java/cnu/mvc/domain/member/MemberService.java | 15 +++++++++++---- 2 files changed, 19 insertions(+), 7 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..422f4f9 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberRepository.java +++ b/src/main/java/cnu/mvc/domain/member/MemberRepository.java @@ -16,13 +16,18 @@ public Member save(Member member) { store.put(member.getId(), member); return member; } + public Member findById(Long id) { return store.get(id); } - // 구현 + // 1-1) 이메일로 회원 조회 public Member findByEmail(String email) { + for (Member member : store.values()) { + if (member.getEmail().equals(email)) { + return member; + } + } return null; } -} - +} \ No newline at end of file diff --git a/src/main/java/cnu/mvc/domain/member/MemberService.java b/src/main/java/cnu/mvc/domain/member/MemberService.java index b8e785e..2ba7cd7 100644 --- a/src/main/java/cnu/mvc/domain/member/MemberService.java +++ b/src/main/java/cnu/mvc/domain/member/MemberService.java @@ -9,22 +9,29 @@ public class MemberService { private final MemberRepository memberRepository; - public Member join(Member member){ + // 1-2) 회원가입 시 중복 이메일 검증 + public Member join(Member member) { + if (memberRepository.findByEmail(member.getEmail()) != null) { + throw new IllegalStateException("이미 존재하는 이메일 계정입니다."); + } return memberRepository.save(member); } + // 2-1) 로그인 검증 public Member validateMember(String email, String pwd) { - Member findMember = findById(1L); + Member findMember = memberRepository.findByEmail(email); + if (findMember == null || !findMember.getPassword().equals(pwd)) { + throw new IllegalArgumentException("이메일 또는 비밀번호를 확인해주세요."); + } return findMember; } + // 기타 기능 public Member findById(Long id) { return memberRepository.findById(id); } - // 구현 public Member findByEmail(String email) { return memberRepository.findByEmail(email); } - }