[TSK-56-147] 고전독서인증 진행도 계산 시 기준 초과 도서 제외#299
Conversation
Test Results187 tests 187 ✅ 25s ⏱️ Results for commit 93c602e. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bada53c949
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| WESTERN("서양의 역사와 사상", 4), | ||
| EASTERN("동양의 역사와 사상", 2), | ||
| EASTERN_AND_WESTERN("동·서양의 문학", 3), | ||
| SCIENCE("과학 사상", 1); |
There was a problem hiding this comment.
Derive recognized-count caps from criteria instead of constants
Avoid hard-coding per-area caps here, because this commit now truncates fetched counts to 4/2/3/1 before GraduationCertService evaluates completion against admission-year criteria loaded from DB (GraduationCertService#createOrUpdate), and those criteria are synced from sheet data (AdminGraduationSyncService#syncClassicCertCriteria). If any year’s required counts change (e.g., western > 4), affected students will be permanently undercounted and may be marked as not satisfied even when the source system reports enough books.
Useful? React with 👍 / 👎.
src/test/java/kr/allcll/backend/domain/graduation/check/cert/ClassicsAreaTest.java
Outdated
Show resolved
Hide resolved
...t/java/kr/allcll/backend/domain/graduation/check/cert/GraduationClassicsCertFetcherTest.java
Outdated
Show resolved
Hide resolved
|
모두 한번 확인해주세요!!
개인적으로는 아래 이유로 enum 방식이 좀 더 적절하지 않을까 생각하고 있어요!
물론 다른 의견도 언제나 환영입니다! 논의 후 하나로 정리하고 머지하겠습니다 😊 |
|
요 부분은 금서와 해윤이의 의견에 더 중점을 두긴해야겠네요. |
저도 수민님의 의견과 동일합니다! |
goldm0ng
left a comment
There was a problem hiding this comment.
저도 숨언니가 말한 플로우대로 하는게 사용자 관점에서 자연스러울 것 같네요.
반영해주신 것까지 모두 확인했습니다!!!
한가지 코멘트 남겼습니다 ~
수고 많으셨어용 👍🏻
| if (text.contains("/")) { | ||
| String completedPart = text.split("/")[0].trim(); | ||
| return Integer.parseInt(completedPart); | ||
| } |
goldm0ng
left a comment
There was a problem hiding this comment.
수고 많으셨어요!!
한가지 코멘트 남겼는데 의견 및 반영 부탁드립니다 ~!
그리고 CI가 터지네용
좀만 힘내십쇼..!!!!
👏🏻
| CodingCertCriteriaResponse codingCriteria = buildCodingCriteria(admissionYear, codingTargetType); | ||
|
|
||
| return GraduationCertCriteriaResponse.of(criteriaTarget, certPolicy, englishCriteria, classicCriteria, | ||
| return GraduationCertCriteriaResponse.of(criteriaTarget, certPolicy, englishCriteria, |
There was a problem hiding this comment.
헉 왜 response 필드도 지웠지
꼼꼼히 확인해주셔서 감사합니다!! 한번 더 물어보길 잘햇다



Summary
고전독서인증 진행도 계산 시 각 영역별 최대 인정 권수를 초과한 도서를 제외하도록 개선했습니다. 학교 시스템에서 "7/4권"처럼 기준을 초과한 데이터가 와도 자동으로 최대 인정 권수(4권)로 제한됩니다.
Changes
3. 테스트 추가
Test plan
Before & After
Before
After