Skip to content

feat: block closed core recruitment submissions#321

Merged
CSE-Shaco merged 1 commit intoGDGoCINHA:developfrom
CSE-Shaco:develop
Mar 15, 2026
Merged

feat: block closed core recruitment submissions#321
CSE-Shaco merged 1 commit intoGDGoCINHA:developfrom
CSE-Shaco:develop

Conversation

@CSE-Shaco
Copy link
Copy Markdown
Contributor

@CSE-Shaco CSE-Shaco commented Mar 15, 2026

📌 연관된 이슈

ex) #이슈번호, #이슈번호

✨ 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요

💬 리뷰 요구사항(선택)

Summary by CodeRabbit

릴리스 노트

  • 새 기능
    • 코어 지원 마감 기간 검증: 모집 마감 시간 이후에는 신청, 자격 확인, 사전 정보 입력이 모두 불가능합니다.
    • 마감 안내: 마감 시간 이후 접근 시 "코어 지원 기간이 종료되었습니다"라는 명확한 안내 메시지를 받습니다.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 15, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ef8c526c-8296-4932-9adf-9a9cb70efc92

📥 Commits

Reviewing files that changed from the base of the PR and between a303288 and dec629a.

📒 Files selected for processing (4)
  • src/main/java/inha/gdgoc/domain/recruit/core/exception/RecruitCoreApplicationErrorCode.java
  • src/main/java/inha/gdgoc/domain/recruit/core/exception/RecruitCoreClosedException.java
  • src/main/java/inha/gdgoc/domain/recruit/core/exception/RecruitCoreControllerExceptionHandler.java
  • src/main/java/inha/gdgoc/domain/recruit/core/service/RecruitCoreApplicationService.java

Walkthrough

모집 마감 시간 이후 신청을 방지하기 위해 새로운 예외 클래스와 검증 로직을 추가했습니다. 오류 코드, 커스텀 예외, 예외 핸들러, 그리고 서비스 검증 메서드를 통해 마감 기한 이후의 신청을 차단합니다.

Changes

Cohort / File(s) Summary
모집 마감 오류 정의
src/main/java/inha/gdgoc/domain/recruit/core/exception/RecruitCoreApplicationErrorCode.java
모집 마감 상태를 나타내는 새로운 열거형 상수 RECRUITMENT_CLOSED 추가 (메시지: "코어 지원 기간이 종료되었습니다.", HTTP 상태: FORBIDDEN)
모집 마감 예외 클래스
src/main/java/inha/gdgoc/domain/recruit/core/exception/RecruitCoreClosedException.java
마감 기한(Instant deadline)과 오류 코드를 담는 새로운 RuntimeException 클래스 추가. Lombok @Getter로 필드 접근성 제공
예외 핸들러
src/main/java/inha/gdgoc/domain/recruit/core/exception/RecruitCoreControllerExceptionHandler.java
RecruitCoreClosedException을 처리하는 새로운 핸들러 메서드 handleClosed() 추가. 오류 코드와 메시지를 포함한 응답 반환
서비스 검증 로직
src/main/java/inha/gdgoc/domain/recruit/core/service/RecruitCoreApplicationService.java
RECRUITMENT_DEADLINE 상수와 validateRecruitmentOpen() 검증 메서드 추가. 자격 확인, 프리필, 제출 메서드에서 마감 기한을 확인하고 초과 시 예외 발생

Sequence Diagram

sequenceDiagram
    actor Client
    participant Service as RecruitCoreApplicationService
    participant Validator as validateRecruitmentOpen()
    participant ExceptionHandler as RecruitCoreControllerExceptionHandler
    Client->>Service: checkEligibility() / prefill() / submit()
    Service->>Validator: Validate recruitment deadline
    alt Recruitment Open
        Validator->>Service: ✓ Validation passed
        Service->>Client: Process request normally
    else Recruitment Closed
        Validator->>Service: ✗ Current time > RECRUITMENT_DEADLINE
        Service->>ExceptionHandler: Throw RecruitCoreClosedException
        ExceptionHandler->>ExceptionHandler: Log exception
        ExceptionHandler->>Client: Return 403 FORBIDDEN<br/>with error message
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 모집 마감, 문을 닫았네,
토끼가 검증으로 지켜줄게!
시간이 지났으면 말씀드려,
친절한 응답으로 안내해,
마감은 엄격하게, 하지만 정중하게! ✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@CSE-Shaco CSE-Shaco merged commit 294a278 into GDGoCINHA:develop Mar 15, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant