From 07e1945273ad59c6cad6b3df0f26ad845aa6539b Mon Sep 17 00:00:00 2001 From: dlwjddus1112 Date: Tue, 31 Mar 2026 20:23:10 +0900 Subject: [PATCH] =?UTF-8?q?[Refactor]=20#223=20=EC=9C=A0=EC=A0=80=20?= =?UTF-8?q?=EC=83=81=ED=83=9C=20=EC=A1=B0=ED=9A=8C=EC=97=90=20=EC=95=BD?= =?UTF-8?q?=EA=B4=80=20=EB=8F=99=EC=9D=98=20=EC=97=AC=EB=B6=80=20=ED=95=84?= =?UTF-8?q?=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/member/dto/response/MemberStatusResponse.java | 9 +++++++-- .../domain/member/repository/MemberTermRepository.java | 2 ++ .../sopt/kareer/domain/member/service/MemberService.java | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/sopt/kareer/domain/member/dto/response/MemberStatusResponse.java b/src/main/java/org/sopt/kareer/domain/member/dto/response/MemberStatusResponse.java index 088cf0d..c36719d 100644 --- a/src/main/java/org/sopt/kareer/domain/member/dto/response/MemberStatusResponse.java +++ b/src/main/java/org/sopt/kareer/domain/member/dto/response/MemberStatusResponse.java @@ -23,15 +23,20 @@ public record MemberStatusResponse( LocalDate graduationDate, @Schema(description = "온보딩 여부", example = "true") - boolean onboardingRequired + boolean onboardingRequired, + + @Schema(description = "약관 동의 여부", example = "true") + boolean agreedTerm + ) { - public static MemberStatusResponse from(Member member, MemberVisa visa, boolean onboardingRequired) { + public static MemberStatusResponse from(Member member, MemberVisa visa, boolean onboardingRequired, boolean agreedTerm) { return MemberStatusResponse.builder() .visaType(visa.getVisaType()) .visaExpiredAt(visa.getVisaExpiredAt()) .graduationDate(member.getGraduationDate()) .expectedGraduationDate(member.getExpectedGraduationDate()) .onboardingRequired(onboardingRequired) + .agreedTerm(agreedTerm) .build(); } } diff --git a/src/main/java/org/sopt/kareer/domain/member/repository/MemberTermRepository.java b/src/main/java/org/sopt/kareer/domain/member/repository/MemberTermRepository.java index 4598f07..04a9a84 100644 --- a/src/main/java/org/sopt/kareer/domain/member/repository/MemberTermRepository.java +++ b/src/main/java/org/sopt/kareer/domain/member/repository/MemberTermRepository.java @@ -7,5 +7,7 @@ public interface MemberTermRepository extends JpaRepository { boolean existsByMemberId(Long memberId); + boolean existsByMemberIdAndAgreedTrue(Long memberId); + void deleteAllByMemberId(Long memberId); } diff --git a/src/main/java/org/sopt/kareer/domain/member/service/MemberService.java b/src/main/java/org/sopt/kareer/domain/member/service/MemberService.java index 2bcfd4c..8672676 100644 --- a/src/main/java/org/sopt/kareer/domain/member/service/MemberService.java +++ b/src/main/java/org/sopt/kareer/domain/member/service/MemberService.java @@ -178,8 +178,9 @@ public MemberStatusResponse getMemberStatus(Long memberId) { .orElseThrow(() -> new MemberException(MemberErrorCode.VISA_NOT_FOUND)); boolean onboardingRequired = member.getStatus().equals(MemberStatus.PENDING); + boolean agreedTerm = memberTermRepository.existsByMemberIdAndAgreedTrue(memberId); - return MemberStatusResponse.from(member, memberVisa, onboardingRequired); + return MemberStatusResponse.from(member, memberVisa, onboardingRequired, agreedTerm); } public MypageResponse getMypage(Long memberId) {