diff --git a/Dockerfile b/Dockerfile index 6b8125b5..c32ed590 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,4 +4,4 @@ FROM eclipse-temurin:21-jdk COPY build/libs/tennis-park-0.0.1-SNAPSHOT.jar app.jar -CMD ["java", "-jar", "app.jar"] +CMD ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/src/main/java/kr/tennispark/common/security/MemberDetailsService.java b/src/main/java/kr/tennispark/common/security/MemberDetailsService.java index 0c6ac8f2..2841a82a 100644 --- a/src/main/java/kr/tennispark/common/security/MemberDetailsService.java +++ b/src/main/java/kr/tennispark/common/security/MemberDetailsService.java @@ -5,6 +5,7 @@ import java.util.List; import kr.tennispark.members.common.domain.entity.Member; +import kr.tennispark.members.common.domain.entity.vo.Phone; import kr.tennispark.members.user.infrastructure.repository.MemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -21,11 +22,15 @@ public class MemberDetailsService implements UserDetailsService { @Override public UserDetails loadUserByUsername(String phoneNumber) { - Member member = memberRepository.findByPhone_Number(phoneNumber) + + Member member = memberRepository.findByPhone(Phone.of(phoneNumber)) .orElseThrow(() -> - new UsernameNotFoundException("존재하지 않는 회원 전화번호")); - return new MemberPrincipal(member, - List.of(new SimpleGrantedAuthority(ROLE_PREFIX + USER_ROLE_VALUE))); + new UsernameNotFoundException("존재하지 않는 회원 전화번호") + ); + + return new MemberPrincipal( + member, + List.of(new SimpleGrantedAuthority(ROLE_PREFIX + USER_ROLE_VALUE)) + ); } } - diff --git a/src/main/java/kr/tennispark/members/user/application/service/MemberService.java b/src/main/java/kr/tennispark/members/user/application/service/MemberService.java index f83c2685..0b44f949 100644 --- a/src/main/java/kr/tennispark/members/user/application/service/MemberService.java +++ b/src/main/java/kr/tennispark/members/user/application/service/MemberService.java @@ -45,8 +45,9 @@ public void createMember(RegisterMemberRequest request) { memberRepository.save(member); } + /* ✅ 핵심 수정 포인트 */ public boolean existsMemberByPhone(String phoneNumber) { - return memberRepository.existsByPhone_Number(phoneNumber); + return memberRepository.existsByPhone(Phone.of(phoneNumber)); } public GetMemberMatchRecordResponse getMemberMatchRecord(Member member) { @@ -57,7 +58,14 @@ public GetMemberMatchRecordResponse getMemberMatchRecord(Member member) { int matchPoint = member.getMatchPoint(); long ranking = rankingRepository.getRank(member.getId()); - return GetMemberMatchRecordResponse.of(wins, draws, losses, matchPoint, ranking, member.getCoupon()); + return GetMemberMatchRecordResponse.of( + wins, + draws, + losses, + matchPoint, + ranking, + member.getCoupon() + ); } @Transactional diff --git a/src/main/java/kr/tennispark/members/user/infrastructure/repository/MemberRepository.java b/src/main/java/kr/tennispark/members/user/infrastructure/repository/MemberRepository.java index 3904c156..4e8eef0c 100644 --- a/src/main/java/kr/tennispark/members/user/infrastructure/repository/MemberRepository.java +++ b/src/main/java/kr/tennispark/members/user/infrastructure/repository/MemberRepository.java @@ -4,6 +4,7 @@ import java.util.Optional; import kr.tennispark.members.common.domain.entity.Member; import kr.tennispark.members.common.domain.entity.enums.MemberShipType; +import kr.tennispark.members.common.domain.entity.vo.Phone; import kr.tennispark.members.common.domain.exception.NoSuchMemberException; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; @@ -14,7 +15,13 @@ @Repository public interface MemberRepository extends JpaRepository { - boolean existsByPhone_Number(String number); + /* ✅ 핵심 수정: VO 기준 조회 */ + boolean existsByPhone(Phone phone); + Optional findByPhone(Phone phone); + + /* ❗ 레거시 (사용 금지, 삭제는 선택) */ + // boolean existsByPhone_Number(String number); + // Optional findByPhone_Number(String number); List findByNameContaining(String name); @@ -23,8 +30,6 @@ default Member getById(Long id) { .orElseThrow(NoSuchMemberException::new); } - Optional findByPhone_Number(String number); - int countByMemberShipType(MemberShipType memberShipType); @Query(""" @@ -32,7 +37,6 @@ default Member getById(Long id) { FROM Member m WHERE m.status = true ORDER BY m.matchPoint DESC - LIMIT 1 """) Optional findTopScorerMember(); @@ -40,7 +44,7 @@ default Member getById(Long id) { SELECT SUM(m.matchPoint) FROM Member m WHERE m.id = :memberId - AND m.status = true + AND m.status = true """) Integer sumScoreByMemberId(@Param("memberId") Long memberId); @@ -51,12 +55,12 @@ SELECT SUM(m.matchPoint) List findByIdIn(List memberIds); @Query(""" - SELECT m - FROM Member m - WHERE m.status = true - AND m.fcmToken IS NOT NULL - AND TRIM(m.fcmToken) <> '' - ORDER BY m.id ASC + SELECT m + FROM Member m + WHERE m.status = true + AND m.fcmToken IS NOT NULL + AND TRIM(m.fcmToken) <> '' + ORDER BY m.id ASC """) List findAllWithValidFcmToken(); }