Skip to content
This repository was archived by the owner on Jan 11, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions src/main/java/com/example/spot/service/auth/AuthServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
import com.example.spot.domain.Member;
import com.example.spot.domain.auth.RsaKey;
import com.example.spot.repository.MemberStudyRepository;
import com.example.spot.repository.MemberThemeRepository;
import com.example.spot.repository.PreferredRegionRepository;
import com.example.spot.repository.StudyReasonRepository;
import com.example.spot.web.dto.rsa.Rsa;
import com.example.spot.domain.auth.RefreshToken;
import com.example.spot.domain.auth.VerificationCode;
Expand Down Expand Up @@ -67,6 +70,10 @@ public class AuthServiceImpl implements AuthService{
private final RefreshTokenRepository refreshTokenRepository;
private final VerificationCodeRepository verificationCodeRepository;

private final MemberThemeRepository memberThemeRepository;
private final PreferredRegionRepository preferredRegionRepository;
private final StudyReasonRepository studyReasonRepository;

private final MailService mailService;
private final NaverOAuthService naverOAuthService;

Expand Down Expand Up @@ -263,6 +270,10 @@ private SocialLoginSignInDTO getSocialLoginSignInDTO(NaverMember.ResponseDTO res
Member member = memberRepository.findByEmailAndLoginType(email, LoginType.NAVER)
.orElseThrow(() -> new MemberHandler(ErrorStatus._MEMBER_NOT_FOUND));

if (!isMemberExistsByCheckList(member)) {
isSpotMember = Boolean.FALSE;
}

// 로그인을 위한 토큰 발급
TokenDTO token = jwtTokenProvider.createToken(member.getId());
saveRefreshToken(member, token);
Expand All @@ -277,6 +288,13 @@ private SocialLoginSignInDTO getSocialLoginSignInDTO(NaverMember.ResponseDTO res
return SocialLoginSignInDTO.toDTO(isSpotMember, signInDTO);
}

public boolean isMemberExistsByCheckList(Member member) {
Long memberId = member.getId();
return memberThemeRepository.existsByMemberId(memberId) &&
preferredRegionRepository.existsByMemberId(memberId) &&
studyReasonRepository.existsByMemberId(memberId);
}

/**
* 현재 SPOT에 가입되어 있지 않은 회원에 한해 회원 정보를 생성하여 DB에 저장합니다.
* @param memberDTO : naverCallback을 바탕으로 생성된 프로필 객체
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,10 @@ public MemberResponseDTO.SocialLoginSignInDTO signUpByKAKAO(String accessToken)

updateMemberProfileImage(member, kaKaoUser);

isSpotMember = true;
if (isMemberExistsByCheckList(member)) {
isSpotMember = true;
}

// JWT 토큰 생성
TokenDTO token = jwtTokenProvider.createToken(member.getId());

Expand Down Expand Up @@ -322,7 +325,9 @@ public SocialLoginSignInDTO signUpByKAKAOForTest(String code) throws JsonProcess

saveRefreshToken(member, token);

isSpotMember = true;
if (isMemberExistsByCheckList(member)) {
isSpotMember = true;
}

// 로그인 DTO 반환
MemberSignInDTO memberSignInDto = MemberSignInDTO.builder()
Expand Down Expand Up @@ -674,6 +679,14 @@ private Long parseUsernameToMemberId(String username) {
}
}

public boolean isMemberExistsByCheckList(Member member) {
Long memberId = member.getId();
return memberThemeRepository.existsByMemberId(memberId) &&
preferredRegionRepository.existsByMemberId(memberId) &&
studyReasonRepository.existsByMemberId(memberId);
}


@Override
@Transactional
public void save(Member member) {
Expand Down