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