generated from pricelees/issue-pr-template
refactor: 회원 repository & service 코틀린 변환
This commit is contained in:
parent
6954baf95f
commit
65eddf6b3c
@ -1,47 +1,40 @@
|
||||
package roomescape.member.business;
|
||||
package roomescape.member.business
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.member.infrastructure.entity.MemberRepository;
|
||||
import roomescape.member.web.MemberResponse;
|
||||
import roomescape.member.web.MembersResponse;
|
||||
import roomescape.system.exception.ErrorType;
|
||||
import roomescape.system.exception.RoomEscapeException;
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.http.HttpStatus
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
import roomescape.member.infrastructure.entity.Member
|
||||
import roomescape.member.infrastructure.entity.MemberRepository
|
||||
import roomescape.member.web.MembersResponse
|
||||
import roomescape.member.web.toResponse
|
||||
import roomescape.system.exception.ErrorType
|
||||
import roomescape.system.exception.RoomEscapeException
|
||||
|
||||
@Service
|
||||
public class MemberService {
|
||||
|
||||
private final MemberRepository memberRepository;
|
||||
|
||||
public MemberService(MemberRepository memberRepository) {
|
||||
this.memberRepository = memberRepository;
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public MembersResponse findAllMembers() {
|
||||
List<MemberResponse> response = memberRepository.findAll().stream()
|
||||
.map(MemberResponse::fromEntity)
|
||||
.toList();
|
||||
class MemberService(
|
||||
private val memberRepository: MemberRepository
|
||||
) {
|
||||
fun readAllMembers(): MembersResponse = MembersResponse(
|
||||
memberRepository.findAll()
|
||||
.map { it.toResponse() }
|
||||
.toList()
|
||||
)
|
||||
|
||||
return new MembersResponse(response);
|
||||
fun findById(memberId: Long): Member = memberRepository.findByIdOrNull(memberId)
|
||||
?: throw RoomEscapeException(
|
||||
ErrorType.MEMBER_NOT_FOUND,
|
||||
String.format("[memberId: %d]", memberId),
|
||||
HttpStatus.BAD_REQUEST
|
||||
)
|
||||
|
||||
fun findMemberByEmailAndPassword(email: String, password: String): Member =
|
||||
memberRepository.findByEmailAndPassword(email, password)
|
||||
?: throw RoomEscapeException(
|
||||
ErrorType.MEMBER_NOT_FOUND,
|
||||
String.format("[email: %s, password: %s]", email, password),
|
||||
HttpStatus.BAD_REQUEST
|
||||
)
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public Member findMemberById(Long memberId) {
|
||||
return memberRepository.findById(memberId)
|
||||
.orElseThrow(() -> new RoomEscapeException(ErrorType.MEMBER_NOT_FOUND,
|
||||
String.format("[memberId: %d]", memberId), HttpStatus.BAD_REQUEST));
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public Member findMemberByEmailAndPassword(String email, String password) {
|
||||
return memberRepository.findByEmailAndPassword(email, password)
|
||||
.orElseThrow(() -> new RoomEscapeException(ErrorType.MEMBER_NOT_FOUND,
|
||||
String.format("[email: %s, password: %s]", email, password), HttpStatus.BAD_REQUEST));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,7 @@
|
||||
package roomescape.member.infrastructure.entity;
|
||||
package roomescape.member.infrastructure.entity
|
||||
|
||||
import java.util.Optional;
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface MemberRepository extends JpaRepository<Member, Long> {
|
||||
|
||||
Optional<Member> findByEmailAndPassword(String email, String password);
|
||||
interface MemberRepository : JpaRepository<Member, Long> {
|
||||
fun findByEmailAndPassword(email: String, password: String): Member?
|
||||
}
|
||||
|
||||
@ -9,8 +9,8 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.member.business.MemberService;
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.reservation.domain.Reservation;
|
||||
import roomescape.reservation.domain.ReservationStatus;
|
||||
import roomescape.reservation.domain.ReservationTime;
|
||||
@ -147,7 +147,7 @@ public class ReservationService {
|
||||
ReservationStatus status) {
|
||||
ReservationTime time = reservationTimeService.findTimeById(timeId);
|
||||
Theme theme = themeService.findThemeById(themeId);
|
||||
Member member = memberService.findMemberById(memberId);
|
||||
Member member = memberService.findById(memberId);
|
||||
|
||||
validateDateAndTime(date, time);
|
||||
return new Reservation(date, time, theme, member, status);
|
||||
@ -213,7 +213,7 @@ public class ReservationService {
|
||||
}
|
||||
|
||||
private void validateIsMemberAdmin(Long memberId) {
|
||||
Member member = memberService.findMemberById(memberId);
|
||||
Member member = memberService.findById(memberId);
|
||||
if (member.isAdmin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -10,8 +10,8 @@ import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import jakarta.servlet.http.Cookie;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.member.business.MemberService;
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.system.auth.annotation.Admin;
|
||||
import roomescape.system.auth.jwt.JwtHandler;
|
||||
import roomescape.system.exception.ErrorType;
|
||||
@ -44,7 +44,7 @@ public class AdminInterceptor implements HandlerInterceptor {
|
||||
try {
|
||||
Cookie token = getToken(request);
|
||||
Long memberId = jwtHandler.getMemberIdFromToken(token.getValue());
|
||||
member = memberService.findMemberById(memberId);
|
||||
member = memberService.findById(memberId);
|
||||
} catch (RoomEscapeException e) {
|
||||
response.sendRedirect("/login");
|
||||
throw e;
|
||||
|
||||
@ -10,8 +10,8 @@ import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import jakarta.servlet.http.Cookie;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.member.business.MemberService;
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.system.auth.annotation.LoginRequired;
|
||||
import roomescape.system.auth.jwt.JwtHandler;
|
||||
import roomescape.system.exception.ErrorType;
|
||||
@ -44,7 +44,7 @@ public class LoginInterceptor implements HandlerInterceptor {
|
||||
try {
|
||||
Cookie token = getToken(request);
|
||||
Long memberId = jwtHandler.getMemberIdFromToken(token.getValue());
|
||||
member = memberService.findMemberById(memberId);
|
||||
member = memberService.findById(memberId);
|
||||
return member != null;
|
||||
} catch (RoomEscapeException e) {
|
||||
response.sendRedirect("/login");
|
||||
|
||||
@ -2,8 +2,8 @@ package roomescape.system.auth.service;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.member.business.MemberService;
|
||||
import roomescape.member.infrastructure.entity.Member;
|
||||
import roomescape.system.auth.dto.LoginCheckResponse;
|
||||
import roomescape.system.auth.dto.LoginRequest;
|
||||
import roomescape.system.auth.jwt.JwtHandler;
|
||||
@ -27,7 +27,7 @@ public class AuthService {
|
||||
}
|
||||
|
||||
public LoginCheckResponse checkLogin(Long memberId) {
|
||||
Member member = memberService.findMemberById(memberId);
|
||||
Member member = memberService.findById(memberId);
|
||||
|
||||
return new LoginCheckResponse(member.getName());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user