Skip to content

Conversation

@pokerbearkr
Copy link
Contributor

@pokerbearkr pokerbearkr commented Jul 15, 2025

PR 생성 시 아래 항목을 채워주세요.

제목 예시: feat : Pull request template 작성

(작성 후 이 안내 문구는 삭제해주세요)


작업 내용

  • 어떤 기능(또는 수정 사항)을 구현했는지 간략하게 설명해주세요.
  • 예) "회원가입 API에 이메일 중복 검사 기능 추가"

변경 사항

  • 구현한 주요 로직, 클래스, 메서드 등을 bullet 형식으로 기술해주세요.
  • 예)
    • UserService.createUser() 메서드 추가
    • @Email 유효성 검증 적용

트러블 슈팅

  • 구현 중 마주한 문제와 해결 방법을 기술해주세요.
  • 예)
    • 문제: @Transactional이 적용되지 않음
    • 해결: 메서드 호출 방식 변경 (this.AopProxyUtils. 사용)

해결해야 할 문제

  • 기능은 동작하지만 리팩토링이나 논의가 필요한 부분을 적어주세요.
  • 예)D
    • UserController에서 비즈니스 로직 일부 처리 → 서비스로 이전 고려 필요

참고 사항

  • 기타 공유하고 싶은 정보나 참고한 문서(링크 등)가 있다면 작성해주세요.

코드 리뷰 전 확인 체크리스트

  • 불필요한 콘솔 로그, 주석 제거
  • 커밋 메시지 컨벤션 준수 (type : )
  • 기능 정상 동작 확인

Summary by CodeRabbit

  • New Features

    • 사용자의 날짜별 정답 제출 횟수를 조회할 수 있는 기능이 추가되었습니다.
  • Bug Fixes

    • 제출 테스트 결과에서 실행 시간 단위가 초(s)에서 밀리초(ms)로 변경되었습니다.
  • Chores

    • OpenAI 리뷰 클라이언트의 API 응답 대기 시간이 10초에서 20초로 연장되었습니다.

@coderabbitai
Copy link

coderabbitai bot commented Jul 15, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

사용자의 문제 풀이 정답 수를 날짜별로 집계하는 기능이 도메인, 레포지토리, 쿼리 레이어에 걸쳐 추가되었습니다. 이를 위한 DTO, 쿼리 레포지토리 및 구현체, 서비스 메서드가 신설되었으며, 일부 프론트엔드 텍스트 표기도 수정되었습니다.

Changes

파일/경로 요약 변경 내용 요약
.../domain/submission/dto/DailyCorrectCount.java 날짜와 정답 수를 담는 불변 DTO record 신설
.../domain/submission/repository/UserProblemResultRepository.java 사용자별 날짜별 정답 수 집계 메서드 시그니처 추가
.../domain/submission/service/SubmissionDomainService.java 사용자별 날짜별 정답 수 조회 서비스 메서드 추가
.../infrastructure/persistence/repository/submission/impl/UserProblemResultRepositoryImpl.java 쿼리 레포지토리 의존성 및 집계 메서드 구현 추가
.../infrastructure/persistence/repository/submission/query/UserProblemResultQueryRepository.java 날짜별 정답 수 집계 쿼리 메서드 인터페이스 신설
.../infrastructure/persistence/repository/submission/query/UserProblemResultQueryRepositoryImpl.java QueryDSL 활용 날짜별 정답 수 집계 쿼리 구현체 신설
.../infrastructure/openai/OpenAIReviewClient.java OpenAI API 응답 타임아웃 10초 → 20초로 증가
.../resources/templates/submit-test.html 테스트 실행 시간 단위 표기를 초(s)에서 밀리초(ms)로 변경

Sequence Diagram(s)

sequenceDiagram
    participant Controller
    participant SubmissionDomainService
    participant UserProblemResultRepository
    participant UserProblemResultQueryRepository

    Controller->>SubmissionDomainService: getSolvedHistoryByDate(userId)
    SubmissionDomainService->>UserProblemResultRepository: countCorrectByUserGroupedByDate(userId)
    UserProblemResultRepository->>UserProblemResultQueryRepository: countCorrectByUserGroupedByDate(userId)
    UserProblemResultQueryRepository-->>UserProblemResultRepository: List<DailyCorrectCount>
    UserProblemResultRepository-->>SubmissionDomainService: List<DailyCorrectCount>
    SubmissionDomainService-->>Controller: List<DailyCorrectCount>
Loading

Possibly related PRs

Suggested labels

enhancement

Suggested reviewers

  • minjee2758
  • NCookies
  • Kimminu7
  • chat26666

Poem

🐇
날짜별로 푼 문제 셈,
토끼가 깡총깡총 뛰며 셈!
정답 수를 모아보니
하루하루 실력이 쑥쑥,
밀리초로 바뀐 시간도 똑딱!
코드밭에 새싹처럼
성장의 기록이 남았네!


📜 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 6cd9d0c and c10d36e.

📒 Files selected for processing (8)
  • src/main/java/org/ezcode/codetest/domain/submission/dto/DailyCorrectCount.java (1 hunks)
  • src/main/java/org/ezcode/codetest/domain/submission/repository/UserProblemResultRepository.java (2 hunks)
  • src/main/java/org/ezcode/codetest/domain/submission/service/SubmissionDomainService.java (2 hunks)
  • src/main/java/org/ezcode/codetest/infrastructure/openai/OpenAIReviewClient.java (1 hunks)
  • src/main/java/org/ezcode/codetest/infrastructure/persistence/repository/submission/impl/UserProblemResultRepositoryImpl.java (3 hunks)
  • src/main/java/org/ezcode/codetest/infrastructure/persistence/repository/submission/query/UserProblemResultQueryRepository.java (1 hunks)
  • src/main/java/org/ezcode/codetest/infrastructure/persistence/repository/submission/query/UserProblemResultQueryRepositoryImpl.java (1 hunks)
  • src/main/resources/templates/submit-test.html (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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.

3 participants