Conversation
7 tasks
📝 WalkthroughWalkthrough
Changes자기소개서 제출 및 최초 첨삭 LLM Job 생성
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@src/main/java/com/daon/rewrite/coverletter/controller/CoverLetterController.java`:
- Around line 97-101: The submit method with `@PostMapping` annotation at line 97
is missing OpenAPI contract annotations required by controller guidelines. Add
OpenAPI documentation annotations to the submit method to specify: the operation
description and summary using `@Operation`, the successful response (HTTP 200)
with SubmitCoverLetterResponse DTO using `@ApiResponse`, and error responses for
common failure cases (400, 404, 409) using `@ApiResponses`. Ensure the annotations
match the actual behavior and response types of the endpoint to maintain API
contract documentation consistency.
In `@src/main/java/com/daon/rewrite/coverletter/service/CoverLetterService.java`:
- Around line 207-213: The findRunningJob method at line 207 retrieves the most
recent running job without filtering by type, which can cause incorrect error
handling when multiple running jobs of different types exist for the same cover
letter. When a coverLetter is in REVIEWING status, the validation at line 211
should specifically check for a COVER_LETTER_REVIEW type job, not just any
running job. Modify the findRunningJob call to explicitly filter by
COVER_LETTER_REVIEW type, or create a separate method that fetches only
COVER_LETTER_REVIEW type running jobs. This ensures that the type validation
logic correctly identifies if the appropriate review job exists, preventing the
INTERNAL_ERROR from being thrown incorrectly when other types of running jobs
are present.
In
`@src/test/java/com/daon/rewrite/coverletter/repository/CoverLetterRepositoryTest.java`:
- Around line 161-178: The current test does not guarantee that the second task
has actually reached the point of executing the locked query before checking for
TimeoutException. The timeout might pass due to scheduling delays rather than
lock contention. Add a new CountDownLatch (for example, secondStarted) and have
the second task count it down just before calling
findActiveByIdAndOwnerIdForUpdate, then await this latch in the main test thread
before asserting on second.get(). This ensures the second task has actually
reached the lock acquisition attempt when the timeout check occurs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: e911f892-f43c-4038-b3d0-48c3892d4d7f
📒 Files selected for processing (16)
docs/api/README.mddocs/api/cover-letters.mddocs/decisions/cover-letters.mddocs/status.mdsrc/main/java/com/daon/rewrite/coverletter/controller/CoverLetterController.javasrc/main/java/com/daon/rewrite/coverletter/dto/SubmitCoverLetterResponse.javasrc/main/java/com/daon/rewrite/coverletter/entity/CoverLetter.javasrc/main/java/com/daon/rewrite/coverletter/repository/CoverLetterRepository.javasrc/main/java/com/daon/rewrite/coverletter/service/CoverLetterService.javasrc/main/java/com/daon/rewrite/coverletter/service/SubmitCoverLetterResult.javasrc/main/java/com/daon/rewrite/global/exception/ErrorCode.javasrc/main/java/com/daon/rewrite/llmjob/repository/LlmJobRepository.javasrc/test/java/com/daon/rewrite/coverletter/controller/CoverLetterControllerTest.javasrc/test/java/com/daon/rewrite/coverletter/repository/CoverLetterRepositoryTest.javasrc/test/java/com/daon/rewrite/coverletter/service/CoverLetterServiceTest.javasrc/test/java/com/daon/rewrite/llmjob/repository/LlmJobRepositoryTest.java
10 tasks
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.
작업 내용
POST /cover-letters/{coverLetterId}/submitAPI를 구현했습니다.DRAFT,REVIEW_FAILED,REVIEWING,REVIEWED상태별 제출 정책을 적용했습니다.LLM_JOB_ALREADY_RUNNING을 반환합니다.스크린샷
1. coverLetter submit 이전에, coverLetter.status 가 DRAFT 인 것 확인 및 비어있는 llm jobs table 확인
2. @PostMapping("/cover-letters/{coverLetterId}/submit") 실행 결과 확인
llm job 생성 확인

coverLetters.status 가 REVIEWING 으로 바뀐것 확인

관련 이슈
문서 반영
docs/api/README.mddocs/api/cover-letters.mddocs/decisions/cover-letters.mddocs/status.md확인 결과
./gradlew test./gradlew checkgit diff --checkSummary by CodeRabbit
릴리스 노트
새로운 기능
문서화