[Feat] 지원서 CSV 추출 고도화 (최종 평가 컬럼 + decision 필터)#175
Merged
Conversation
서류 평가 결과 전달용으로 CSV에 '최종 평가' 컬럼을 추가한다. 전화번호 다음 위치에 배치하고, 값은 한글로 표기한다. (PASS→합격, FAIL→불합격, HOLD→보류, PENDING→미정)
decision 파라미터(PASS/FAIL/ALL, 기본 ALL)로 추출 범위를 지정한다. - DecisionFilter enum 신설 (ALL → final_decision 필터 미적용) - 리포지토리에 final_decision nullable 필터 조건 추가 (DB 레벨 필터) - S3 키에 추출 필터 표기하여 합격/불합격/전체 파일 구분 - decision 미지정 시 ALL로 동작하여 기존 호출과 하위호환 유지
- CsvServiceTest: '최종 평가' 컬럼 위치·한글 표기 검증 - RecruitmentServiceTest: decision=PASS 필터 전달·S3 키 표기, ALL→null 검증 - ApplicantRepositoryTest: 메서드 시그니처 변경 반영, final_decision 필터 케이스 추가 - RecruitmentIntegrationTest: decision=PASS end-to-end (합격자만 포함) 검증 - RecruitmentAdminControllerTest: decision 파라미터 전달·잘못된 값 400 검증
term 26(recruitment_id=1)에 부문별 final_decision=PASS·FAIL 지원자를 추가하여 decision=PASS/FAIL/ALL 추출 결과를 수동 검증할 수 있게 한다. (user/applicant id 5~10, 기존 지원자는 그대로 유지)
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
💡 개요
서류 평가 직후 지원자에게 결과(전화번호·이메일·합격 여부)를 전달하기 위해 지원서 CSV 추출 기능을 고도화했습니다. 별도 평가 웹사이트가 개발되어 CSV의 용도가 "서류 평가용"에서 "결과 전달용"으로 바뀐 점을 반영합니다.
🪐 주요 변경 사항
PASS/FAIL/ALL, 기본값ALL)✅ 상세 내용
CsvService:최종 평가헤더·셀 추가,EvaluationDecision→ 한글 매핑(합격/불합격/보류/미정)DecisionFilterenum 신규(PASS/FAIL/ALL),ALL은 필터 없음(null)으로 변환ApplicantRepository:(:decision IS NULL OR a.finalDecision = :decision)조건으로 DB 레벨 필터링RecruitmentService/RecruitmentAdminController:decision파라미터 전달, S3 키에 decision 포함해 결과 구분data.sql: term 26 부문별 PASS/FAIL 지원자 시드 추가(필터별 추출 결과 검증용)🔔 참고 사항
POST /applications/download?term={term}&decision={PASS|FAIL|ALL}decision미지정 시 기본값ALL(기존 동작 호환)docs/test/TC-REC-ADMIN-001.md)는.gitignore대상이라 미포함 — source of truth는 Notion