@Service
@RequiredArgsConstructor
@Slf4j
public class MemberService {
private final PasswordEncoder passwordEncoder;
private final MemberRepository memberRepository;
public Long join(MemberDto memberDto) {
Optional<Member> findMember = memberRepository.findByEmail(memberDto.getEmail());
if (!findMember.isEmpty()) {
log.error("이미 존재하는 이메일={}", memberDto.getEmail());
return null;
}
Member member = new Member(memberDto.getEmail(), passwordEncoder.encode(memberDto.getPassword()), memberDto.getNickname());
memberRepository.save(member);
log.info("joined member={}", member);
return member.getId();
}
}
@Service
@RequiredArgsConstructor
public class LoginService {
private final PasswordEncoder passwordEncoder;
private final MemberRepository memberRepository;
public Member login(String loginEmail, String password) {
Optional<Member> findMembers = memberRepository.findByEmail(loginEmail);
return findMembers.stream()
.filter(member -> passwordEncoder.matches(password, member.getPassword()))
.findAny()
.orElse(null);
}
}