-
Notifications
You must be signed in to change notification settings - Fork 2
[refactor] 시작날짜에 상시모집 처리한다 #873
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
[refactor] 시작날짜에 상시모집 처리한다 #873
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning
|
| 집단 / 파일(s) | 변경 요약 |
|---|---|
RecruitmentStateCalculator 변경 backend/src/main/java/moadong/club/util/RecruitmentStateCalculator.java |
recruitmentEndDate 연도만으로 즉시 ALWAYS 반환하던 초기 검사 제거. 모집이 OPEN인 분기에서 "now가 start 이후 && before end" 조건을 "not before start && before end"로 조정하고, OPEN 분기 내에서 종료 연도가 ALWAYS_RECRUIT_YEAR인 경우에만 ALWAYS 반환하도록 반환 값을 조건부로 변경. |
Sequence Diagram(s)
sequenceDiagram
autonumber
participant Caller
participant Calculator as RecruitmentStateCalculator
Caller->>Calculator: 모집 상태 계산 요청\n(now, startDate, endDate)
alt now가 모집 기간 내 (not before start && before end)
Note right of Calculator: OPEN 분기 진입
alt endDate.year == ALWAYS_RECRUIT_YEAR
Calculator-->>Caller: ALWAYS
Note over Calculator: 조건부 ALWAYS 반환 (새 로직)
else
Calculator-->>Caller: OPEN
end
else now가 모집 기간 외
Calculator-->>Caller: CLOSED 또는 다른 상태
Note over Calculator: 이전에 있던 '종료연도로 인한 즉시 ALWAYS' 검사 제거
end
Estimated code review effort
🎯 2 (Simple) | ⏱️ ~10 minutes
- 추가 검토 포인트:
- 시작일 경계(시작 시각 포함/제외) 처리 확인
- ALWAYS_RECRUIT_YEAR 경계 케이스 단위 테스트 확인
- 이 메서드 호출자들이 변경된 반환 시나리오에 적절히 대응하는지 점검
Possibly related issues
- [refactor] MOA-359 상시모집 시작날짜를 보고 처리한다 #855 — RecruitmentStateCalculator에서 ALWAYS_RECRUIT_YEAR 처리 변경 관련: 본 PR과 동일한 목적(종료 연도만으로 즉시 ALWAYS 판단 제거 및 시작일 기준 적용)을 다룸.
Possibly related PRs
- [feature] 관리자 페이지 모집기간 선택에 상시모집 처리 버튼을 추가한다 #774 — 프론트엔드/데이터 모델에서 상시모집 sentinel 연도 처리 변경: 본 PR과 함께 ALWAYS_RECRUIT_YEAR 처리 흐름에 연관 있음.
- [fix] 지원서 이전 모집상태와 비교하지않고 알림을 보내는 문제를 수정한다 #832 — RecruitmentStateCalculator 관련 수정 PR: 상태 계산 시점/조건 변경과 직접적 코드 레벨 연관 가능.
Suggested reviewers
- Zepelown
- seongwon030
Pre-merge checks and finishing touches
❌ Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Docstring Coverage | Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. | You can run @coderabbitai generate docstrings to improve docstring coverage. |
✅ Passed checks (4 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Title check | ✅ Passed | PR 제목이 변경사항의 핵심을 명확하게 요약하고 있습니다. 시작날짜에서 상시모집을 처리한다는 주요 변경 사항을 정확히 반영합니다. |
| Linked Issues check | ✅ Passed | 변경사항이 MOA-359의 요구사항을 완벽하게 충족합니다. 시작날짜부터 상시모집을 처리하도록 로직이 수정되었으며, 시작날짜와 일치하고 endDate가 2999년인 경우에만 상시모집으로 전환됩니다. |
| Out of Scope Changes check | ✅ Passed | 모든 변경사항이 MOA-359의 상시모집 시작날짜 처리라는 목표에 정확히 맞춰져 있으며, 범위 밖의 변경사항이 없습니다. |
✨ Finishing touches
- 📝 Generate docstrings
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Post copyable unit tests in a comment
- Commit unit tests in branch
refactor/#855-always-recruit-start-date-MOA-359
📜 Recent review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Jira integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
backend/src/main/java/moadong/club/util/RecruitmentStateCalculator.java(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- backend/src/main/java/moadong/club/util/RecruitmentStateCalculator.java
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test
Tip
📝 Customizable high-level summaries are now available in beta!
You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.
- Provide your own instructions using the
high_level_summary_instructionssetting. - Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
- Use
high_level_summary_in_walkthroughto move the summary from the description to the walkthrough section.
Example instruction:
"Divide the high-level summary into five sections:
- 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
- 📓 References — List relevant issues, discussions, documentation, or related PRs.
- 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
- 📊 Contributor Summary — Include a Markdown table showing contributions:
| Contributor | Lines Added | Lines Removed | Files Changed |- ✔️ Additional Notes — Add any extra reviewer context.
Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."
Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
Test Results68 tests 65 ✅ 18s ⏱️ Results for commit bf35045. ♻️ This comment has been updated with latest results. |
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: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Jira integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
backend/src/main/java/moadong/club/util/RecruitmentStateCalculator.java(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test
🔇 Additional comments (1)
backend/src/main/java/moadong/club/util/RecruitmentStateCalculator.java (1)
37-42: 모집 시작 전 로직이 올바릅니다.시작일 14일 전부터 UPCOMING 상태로 전환하는 로직이 정확하게 구현되어 있습니다.
backend/src/main/java/moadong/club/util/RecruitmentStateCalculator.java
Outdated
Show resolved
Hide resolved
|
수고하셨습니당! |
lepitaaar
left a comment
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.
수고하셨습니다! rabbit 부분도 뭔가일리가있네요 나중에 차이비교해주시고 답변달하주실수있나요!
#️⃣연관된 이슈
📝작업 내용
기존
-> 시작날짜에 상관없이 endDate가 2999년이면 바로 상시모집 처리
변경
-> 스케줄러에서 현재가 시작날짜와 일치하고, endDate가 2999년이어야 상시모집 처리
('모집예정'과 '모집마감'처리는 일반 모집과 동일하게 적용됩니다.)
중점적으로 리뷰받고 싶은 부분(선택)
논의하고 싶은 부분(선택)
🫡 참고사항
Summary by CodeRabbit
Summary by CodeRabbit
버그 수정
✏️ Tip: You can customize this high-level summary in your review settings.