Skip to content

Conversation

@1winhyun
Copy link
Member

@1winhyun 1winhyun commented Nov 13, 2025

Related issue 🛠

작업 내용 💻

  • 서류 심사 리스트 조회 시 recruitmentStatus가 응답되도록 수정했습니다.
  • 면접 심사 리스트 조회 시 recruitmentStatus가 응답되도록 수정했습니다.

스크린샷 📷

  • 서류 심사 리스트 조회
image
  • 면접 심사 리스트 조회
image

같이 얘기해보고 싶은 내용이 있다면 작성 📢

Summary by CodeRabbit

릴리스 노트

  • 새로운 기능
    • 신청자 정보 조회 시 모집 상태 정보가 추가되었습니다.
    • 신청 현황 조회 및 신청자 목록에서 모집 상태를 함께 확인할 수 있습니다.

@coderabbitai
Copy link

coderabbitai bot commented Nov 13, 2025

Walkthrough

4개 파일에서 recruitmentStatus 필드를 DTOs 및 쿼리 매핑에 추가하여 서류 심사 및 면접 심사 목록 조회 응답에 채용 상태 정보를 포함하도록 변경하였습니다.

Changes

Cohort / File(s) 변경 요약
DTO 레코드 확장
src/main/java/com/unionmate/backend/domain/council/application/dto/CouncilApplicantQueryRow.java, src/main/java/com/unionmate/backend/domain/council/application/dto/CouncilApplicantResponse.java
recruitmentStatus 필드 추가 및 of() 팩토리 메서드 시그니처 업데이트. RecruitmentStatus 타입 임포트 추가.
쿼리 매핑 업데이트
src/main/java/com/unionmate/backend/domain/applicant/domain/repository/ApplicationRepository.java
모든 CouncilApplicantQueryRow 생성자 호출에 a.stage.recruitmentStatus 필드 전달
유스케이스 매핑 변경
src/main/java/com/unionmate/backend/domain/council/application/usecase/CouncilManageUsecase.java
두 곳의 CouncilApplicantResponse 팩토리 호출에서 recruitmentStatus 값 추가

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • 동일한 패턴이 반복되는 변경으로, 각 파일에서 recruitmentStatus 필드 추가와 팩토리 메서드 업데이트 확인 필요
  • ApplicationRepository의 모든 쿼리에서 필드 매핑 추가 여부 일관성 검증 권장

Possibly related PRs

Suggested labels

refactor

Suggested reviewers

  • huncozyboy
  • soyesenna
  • rootTiket

Poem

🐰 심사 목록에 채용상태가 꼬옥 숨어있었네요,
이제 드러낼 때가 됐어요!
DTO에 한줄, 쿼리에 한줄,
여섯 개 필드로 완성된 응답 🎉
일관된 변화, 우아한 리팩토링!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning 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
Title check ✅ Passed PR 제목이 변경 사항의 주요 내용을 명확하게 설명하고 있으며, 서류 심사와 면접 심사 리스트 조회에 recruitmentStatus 추가라는 핵심 변경 사항을 반영하고 있습니다.
Description check ✅ Passed PR 설명이 제공된 템플릿의 모든 필수 섹션을 포함하고 있으며, 관련 이슈 번호, 구체적인 작업 내용(체크박스), 스크린샷으로 변경 사항을 명확하게 설명하고 있습니다.
Linked Issues check ✅ Passed PR의 모든 코드 변경 사항이 이슈 #53의 요구사항과 일치합니다. CouncilApplicantQueryRow, CouncilApplicantResponse, ApplicationRepository, CouncilManageUsecase 변경을 통해 서류 심사와 면접 심사 리스트 조회 시 recruitmentStatus가 응답되도록 추가했습니다.
Out of Scope Changes check ✅ Passed 모든 변경 사항이 이슈 #53에서 요구한 범위 내에 있으며, recruitmentStatus 필드 추가를 위한 DTO 수정, 쿼리 변경, 팩토리 메서드 업데이트 등 일관되게 진행되었습니다.
✨ 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/#53

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 344d908 and 1e7f26c.

📒 Files selected for processing (4)
  • src/main/java/com/unionmate/backend/domain/applicant/domain/repository/ApplicationRepository.java (8 hunks)
  • src/main/java/com/unionmate/backend/domain/council/application/dto/CouncilApplicantQueryRow.java (1 hunks)
  • src/main/java/com/unionmate/backend/domain/council/application/dto/CouncilApplicantResponse.java (2 hunks)
  • src/main/java/com/unionmate/backend/domain/council/application/usecase/CouncilManageUsecase.java (2 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
src/main/java/com/unionmate/backend/domain/council/application/usecase/CouncilManageUsecase.java (1)
src/main/java/com/unionmate/backend/domain/recruitment/application/dto/response/RecruitmentResultResponse.java (1)
  • Schema (12-95)
🔇 Additional comments (4)
src/main/java/com/unionmate/backend/domain/council/application/dto/CouncilApplicantQueryRow.java (1)

6-21: LGTM! DTO 구조가 올바르게 확장되었습니다.

RecruitmentStatus 필드가 레코드와 팩토리 메서드에 일관되게 추가되었습니다. 변경사항이 명확하고 타입 안전성이 유지됩니다.

src/main/java/com/unionmate/backend/domain/council/application/usecase/CouncilManageUsecase.java (1)

126-128: LGTM! 매핑 로직이 올바르게 업데이트되었습니다.

서류 심사와 면접 심사 목록 조회 메서드 모두에서 recruitmentStatus가 응답 DTO로 일관되게 전달됩니다. 변경사항이 PR 목표와 정확히 일치합니다.

Also applies to: 143-145

src/main/java/com/unionmate/backend/domain/council/application/dto/CouncilApplicantResponse.java (1)

6-35: LGTM! 응답 DTO가 올바르게 확장되었습니다.

RecruitmentStatus 필드가 적절한 Swagger 문서화와 함께 추가되었습니다. 팩토리 메서드도 일관되게 업데이트되어 타입 안전성이 유지됩니다.

src/main/java/com/unionmate/backend/domain/applicant/domain/repository/ApplicationRepository.java (1)

28-28: 원본 리뷰 의견은 부정확합니다.

Application.stage는 null이 될 수 없습니다. Stage@Embeddable 값 객체이며 @Builder.DefaultStage.init()을 통해 항상 초기화됩니다. 따라서 모든 Application 인스턴스는 항상 non-null Stage를 가지고 있으며, 쿼리에서 a.stage.recruitmentStatusa.stage.evaluationStatus에 접근하는 것은 안전합니다.

코드 변경사항은 정확하고 NullPointerException 위험은 없습니다.

Likely an incorrect or invalid review comment.


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.

Copy link
Contributor

@rootTiket rootTiket left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

문제 없어보여요 고생하셨습니당

@1winhyun 1winhyun merged commit eff3641 into dev Nov 13, 2025
2 checks passed
return rows.stream()
.map(row -> CouncilApplicantResponse.of(
row.name(), row.email(), row.tel(), row.appliedAt(), row.evaluationStatus()
row.name(), row.email(), row.tel(), row.appliedAt(), row.evaluationStatus(), row.recruitmentStatus()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

변경된 내용 확인했습니다~

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.

[REFACTOR] #53 서류 심사, 면접 심사 목록 조회 시 recruitmentStatus가 응답되도록 추가

4 participants