-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: 가입 미완료인 이전 회차 멤버십 있어도 새로운 멤버십 생성 가능하도록 수정 #728
fix: 가입 미완료인 이전 회차 멤버십 있어도 새로운 멤버십 생성 가능하도록 수정 #728
Conversation
Walkthrough변경 사항은 멤버십 제출 로직을 수정하여 중복 여부를 확인하는 방식으로 개선되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Member
participant MembershipService
participant MembershipValidator
participant MembershipCustomRepository
Member->>MembershipService: submitMembership()
MembershipService->>MembershipCustomRepository: existsByMemberAndRecruitmentWithSatisfiedRequirements()
MembershipCustomRepository-->>MembershipService: return result
MembershipService->>MembershipValidator: validateMembershipSubmit()
MembershipValidator-->>MembershipService: validation result
MembershipService-->>Member: response
Assessment against linked issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Job Summary for GradleCheck Style and Test to Develop :: build-test
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (5)
- src/main/java/com/gdschongik/gdsc/domain/membership/application/MembershipService.java (1 hunks)
- src/main/java/com/gdschongik/gdsc/domain/membership/dao/MembershipCustomRepository.java (1 hunks)
- src/main/java/com/gdschongik/gdsc/domain/membership/dao/MembershipCustomRepositoryImpl.java (3 hunks)
- src/main/java/com/gdschongik/gdsc/domain/membership/domain/MembershipValidator.java (1 hunks)
- src/test/java/com/gdschongik/gdsc/domain/membership/application/MembershipServiceTest.java (1 hunks)
Files skipped from review due to trivial changes (1)
- src/test/java/com/gdschongik/gdsc/domain/membership/application/MembershipServiceTest.java
Additional comments not posted (8)
src/main/java/com/gdschongik/gdsc/domain/membership/dao/MembershipCustomRepository.java (1)
8-8
: 메서드 이름 변경을 승인합니다. 하지만 메서드 사용과 구현을 확인하세요.메서드 이름에 "WithSatisfiedRequirements"를 포함하도록 변경한 것은 메서드의 목적과 평가 기준에 대한 명확성을 향상시킵니다.
그러나 다음 사항을 확인해야 합니다:
메서드 호출 코드가 새로운 메서드 이름을 사용하도록 업데이트되었는지 확인하세요. 다음 스크립트를 실행하여 메서드 사용을 확인할 수 있습니다:
메서드 구현이 업데이트된 메서드 이름과 일치하고 이름에서 제안한 대로 충족된 요구 사항을 확인하는지 확인하세요. 다음 스크립트를 실행하여 메서드 구현을 검색할 수 있습니다:
Verification successful
메서드 구현 및 사용이 올바르게 이루어졌습니다.
existsByMemberAndRecruitmentWithSatisfiedRequirements
메서드는 요구 사항이 충족된 멤버십의 존재 여부를 확인하는 데 적절하게 구현되었습니다. 메서드 이름과 구현이 일치하며, 코드베이스에서 올바르게 사용되고 있습니다.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: 모든 `existsByMemberAndRecruitmentWithSatisfiedRequirements` 메서드 호출이 새로운 시그니처와 일치하는지 확인합니다. # Test: 메서드 사용을 검색합니다. Expect: 새로운 시그니처의 발생만 있어야 합니다. rg --type java -A 5 $'existsByMemberAndRecruitmentWithSatisfiedRequirements'Length of output: 2113
Script:
#!/bin/bash # Description: `existsByMemberAndRecruitmentWithSatisfiedRequirements` 메서드의 구현을 검색합니다. # Test: 메서드 구현을 검색합니다. ast-grep --lang java --pattern $'boolean existsByMemberAndRecruitmentWithSatisfiedRequirements(Member member, Recruitment recruitment) { $$$ }'Length of output: 146
Script:
#!/bin/bash # Description: Extract the full implementation of `existsByMemberAndRecruitmentWithSatisfiedRequirements` method. # Use rg to extract the method implementation with sufficient context. rg --type java -A 20 'boolean existsByMemberAndRecruitmentWithSatisfiedRequirements\(Member member, Recruitment recruitment\)' src/main/java/com/gdschongik/gdsc/domain/membership/dao/MembershipCustomRepositoryImpl.javaLength of output: 1058
src/main/java/com/gdschongik/gdsc/domain/membership/domain/MembershipValidator.java (2)
16-16
: 매개변수 이름 변경이 적절합니다.
isMembershipAlreadySubmitted
에서isMembershipDuplicate
로의 매개변수 이름 변경은 boolean 플래그의 의도를 더 명확하게 반영하여 가독성을 향상시킵니다.
23-24
: 코드 변경이 매개변수 이름 변경과 일치합니다.멤버십 중복 여부를 확인하는 로직이 새로운 매개변수 이름
isMembershipDuplicate
에 맞게 업데이트되었습니다. 이는 매개변수 이름 변경과 일관되며 기능적인 변화는 없습니다.src/main/java/com/gdschongik/gdsc/domain/membership/dao/MembershipCustomRepositoryImpl.java (3)
5-5
: LGTM!새로 추가된 import 문은 파일에서 이루어진 변경 사항에 필요합니다.
Also applies to: 9-9
19-26
: LGTM!메서드 이름 변경은 요구 사항이 충족되었는지 확인하기 위해 업데이트된 기능을 반영합니다. 추가된 조건은 결제 상태가 충족된 멤버십만 고려되도록 합니다. 이러한 변경 사항은 이전 단계에서 미완료 상태임에도 불구하고 사용자가 새 멤버십을 생성할 수 있도록 허용하는 PR 목표와 일치합니다.
39-43
: LGTM!새로운 private 메서드
eqRequirementStatus
는 쿼리에서 요구 사항 상태를 확인하는 데 도움이 되는 메서드입니다. 이 메서드는 올바르게 구현되었으며existsByMemberAndRecruitmentWithSatisfiedRequirements
메서드에서 사용됩니다. 이 메서드는 특정 요구 사항 상태에 따라 멤버십을 필터링하는 쿼리 기능을 향상시킵니다.src/main/java/com/gdschongik/gdsc/domain/membership/application/MembershipService.java (2)
72-73
: 변수명 변경 및 중복 멤버십 확인 로직 개선
isMembershipAlreadySubmitted
변수명을isMembershipDuplicate
로 변경하고,existsByMemberAndRecruitmentWithSatisfiedRequirements
메서드를 사용하여 중복 멤버십 여부를 보다 정교하게 확인하도록 개선한 것은 좋은 변경사항입니다. 이를 통해 멤버십 제출 시 중복 여부를 보다 명확하게 판단할 수 있을 것 같습니다.
75-75
: 멤버십 검증 로직 업데이트
membershipValidator.validateMembershipSubmit
호출 시 새로운 변수인isMembershipDuplicate
를 사용하도록 업데이트한 것은 필요한 변경사항입니다. 이를 통해 수정된 중복 멤버십 확인 로직과 일관성을 유지할 수 있습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
🌱 관련 이슈
📌 작업 내용 및 특이사항
📝 참고사항
📚 기타
Summary by CodeRabbit
New Features
Bug Fixes
Tests