[회원 조회 개선] MemberRepository와 MemberService에서 사용자 ID로 활성화된 회원을 조회하는 메서드 이름 변경 및 쿼리 조건 수정. 사용자 조회 로직을 개선하여 더 명확한 기능 제공.
This commit is contained in:
		@@ -8,7 +8,7 @@ import java.util.Optional;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@Repository
 | 
			
		||||
public interface MemberRepository extends JpaRepository<Member, Long> {
 | 
			
		||||
public interface MemberRepository extends JpaRepository<Member, Long>, MemberRepositoryCustom {
 | 
			
		||||
    
 | 
			
		||||
    // 사용자 ID로 회원 조회 (Optional 반환)
 | 
			
		||||
    Optional<Member> findByUserId(String userId);
 | 
			
		||||
 
 | 
			
		||||
@@ -14,13 +14,12 @@ import java.util.Optional;
 | 
			
		||||
public interface MemberRepositoryCustom {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 사용자 ID로 회원을 조회합니다.
 | 
			
		||||
     * QueryDSL을 사용하여 더 유연한 쿼리 작성이 가능합니다.
 | 
			
		||||
     * 활성화된 사용자 중에서 사용자 ID로 검색하여 조회합니다.
 | 
			
		||||
     *
 | 
			
		||||
     * @param userId 사용자 ID
 | 
			
		||||
     * @return Optional<Member> 회원 정보 (없으면 empty)
 | 
			
		||||
     */
 | 
			
		||||
    Optional<Member> findByUserIdCustom(String userId);
 | 
			
		||||
    Optional<Member> findActiveMemberByUserId(String userId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 역할(Role)별로 회원 목록을 조회합니다.
 | 
			
		||||
 
 | 
			
		||||
@@ -32,12 +32,12 @@ public class MemberRepositoryImpl implements MemberRepositoryCustom {
 | 
			
		||||
    private final QMember member = QMember.member;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Optional<Member> findByUserIdCustom(String userId) {
 | 
			
		||||
        // QueryDSL을 사용하여 사용자 ID로 회원을 조회합니다.
 | 
			
		||||
        // eq() 메서드를 사용하여 정확한 일치 조건을 설정합니다.
 | 
			
		||||
    public Optional<Member> findActiveMemberByUserId(String userId) {
 | 
			
		||||
        // 활성화된 사용자 중에서 사용자 ID로 검색
 | 
			
		||||
        Member foundMember = queryFactory
 | 
			
		||||
                .selectFrom(member)
 | 
			
		||||
                .where(member.userId.eq(userId))
 | 
			
		||||
                .where(member.userId.eq(userId)
 | 
			
		||||
                        .and(member.useFlag.eq(true)))
 | 
			
		||||
                .fetchOne();
 | 
			
		||||
 | 
			
		||||
        return Optional.ofNullable(foundMember);
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ public class MemberServiceImpl implements MemberService {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public UserDetails loadUserByUsername(String id) throws UsernameNotFoundException {
 | 
			
		||||
        Member member = memberRepository.findByUserIdAndUseFlagTrue(id)
 | 
			
		||||
        Member member = memberRepository.findActiveMemberByUserId(id)
 | 
			
		||||
                .orElseThrow(() -> new UsernameNotFoundException("사용자를 찾을 수 없습니다: " + id));
 | 
			
		||||
        
 | 
			
		||||
        // MapStruct를 사용하여 Member 엔티티를 MemberDto로 변환
 | 
			
		||||
@@ -45,7 +45,7 @@ public class MemberServiceImpl implements MemberService {
 | 
			
		||||
    @Transactional
 | 
			
		||||
    public MemberDto createMember(MemberDto memberDto) {
 | 
			
		||||
        // userId 중복 체크
 | 
			
		||||
        if (memberRepository.existsByUserIdAndUseFlagTrue(memberDto.getUserId())) {
 | 
			
		||||
        if (memberRepository.existsByUserId(memberDto.getUserId())) {
 | 
			
		||||
            throw new ApiException(ApiResponseCode.USER_ID_DUPLICATE);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
@@ -73,11 +73,6 @@ public class MemberServiceImpl implements MemberService {
 | 
			
		||||
                .orElseThrow(() -> new ApiException(ApiResponseCode.USER_NOT_FOUND));
 | 
			
		||||
        
 | 
			
		||||
        memberMapper.updateMemberFromDto(memberDto, member);
 | 
			
		||||
        
 | 
			
		||||
        if (memberDto.getPassword() != null && !memberDto.getPassword().isEmpty()) {
 | 
			
		||||
            member.setPassword(bCryptPasswordEncoder.encode(memberDto.getPassword()));
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        memberRepository.save(member);
 | 
			
		||||
        return 1;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user