[hotfix] 기록장 조회시 isbn 반환 / 마감임박,인기방 조회시 recruitCount 반환#138
[hotfix] 기록장 조회시 isbn 반환 / 마감임박,인기방 조회시 recruitCount 반환#138
Conversation
Walkthrough기록장 조회 응답에 ISBN 필드가 추가되고, 책 전체 페이지수 및 총평 작성 가능 여부 조회 응답에 recruitCount 필드가 포함되었습니다. 관련 DTO, 서비스, 레코드, 쿼리, 검증 로직 등이 해당 필드를 지원하도록 수정되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant RecordSearchService
participant Book
Client->>RecordSearchService: 기록장 조회 요청
RecordSearchService->>Book: Book 정보 조회
RecordSearchService-->>Client: RecordSearchResponse (isbn 포함)
sequenceDiagram
participant Client
participant RoomQueryRepositoryImpl
participant DB
Client->>RoomQueryRepositoryImpl: 방 리스트/상세 조회 요청
RoomQueryRepositoryImpl->>DB: recruitCount 포함 쿼리 실행
RoomQueryRepositoryImpl-->>Client: RoomQueryDto (recruitCount 포함)
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Assessment against linked issues
Possibly related PRs
Suggested labels
Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches
🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
src/main/java/konkuk/thip/record/application/service/RecordSearchService.java (1)
106-112: ISBN 필드가 null 인 경우의 처리 여부 확인 필요
book.getIsbn()이 DB에 따라 null 이 될 가능성이 있으면, 프론트에 그대로null이 내려가거나 직렬화 과정에서 누락될 수 있습니다.
API 컨벤션상 빈 문자열/기본값을 내려주거나 400 에러를 반환해야 하는지 확인해 주세요.- .isbn(book.getIsbn()) + .isbn( + Optional.ofNullable(book.getIsbn()) + .orElse("") + )src/main/java/konkuk/thip/record/adapter/in/web/response/RecordSearchResponse.java (1)
10-13: 신규 필드 추가에 따른 호환성·문서 업데이트 확인
isbn필드가 추가되면서 Canonical Constructor 시그니처가 변경되었습니다.
기존에 생성자를 직접 호출하던 코드, 테스트, OpenAPI/Swagger 문서가 깨지지 않는지 확인 바랍니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
src/main/java/konkuk/thip/record/adapter/in/web/response/RecordSearchResponse.java(1 hunks)src/main/java/konkuk/thip/record/application/service/RecordSearchService.java(1 hunks)src/main/java/konkuk/thip/room/adapter/in/web/response/RoomGetDeadlinePopularResponse.java(1 hunks)src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepositoryImpl.java(3 hunks)src/main/java/konkuk/thip/room/application/port/out/dto/RoomQueryDto.java(2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: buzz0331
PR: THIP-TextHip/THIP-Server#78
File: src/main/java/konkuk/thip/user/application/port/out/FollowingQueryPort.java:3-3
Timestamp: 2025-07-14T18:22:56.538Z
Learning: THIP 프로젝트에서는 Query API(조회 API)에 한해서는 application 계층에서 adapter.in.web.response 패키지의 response DTO를 직접 참조하는 것을 허용함. 이는 CQRS 아키텍처에서 읽기 전용 작업의 효율성을 위한 팀 컨벤션임.
📚 Learning: thip 프로젝트에서는 cqrs port 분리 시 다음 컨벤션을 따름: commandport에는 findbyxxx를 통해 도메인 엔티티를 찾아오는 메서드를 추가하고, querypo...
Learnt from: seongjunnoh
PR: THIP-TextHip/THIP-Server#43
File: src/main/java/konkuk/thip/book/application/port/out/BookCommandPort.java:0-0
Timestamp: 2025-07-03T03:05:05.031Z
Learning: THIP 프로젝트에서는 CQRS Port 분리 시 다음 컨벤션을 따름: CommandPort에는 findByXXX를 통해 도메인 엔티티를 찾아오는 메서드를 추가하고, QueryPort에는 조회 API의 response에 해당하는 데이터들을 DB로부터 조회하는 메서드를 추가함.
Applied to files:
src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepositoryImpl.java
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (6)
src/main/java/konkuk/thip/room/adapter/in/web/response/RoomGetDeadlinePopularResponse.java (1)
13-13: 필드 추가가 올바르게 구현되었습니다.recruitCount 필드가 적절한 위치에 추가되었고, 주석도 명확합니다.
src/main/java/konkuk/thip/room/application/port/out/dto/RoomQueryDto.java (2)
14-14: 필드 추가가 적절합니다.recruitCount 필드가 올바른 위치에 추가되었습니다.
24-24: 검증 로직이 올바르게 구현되었습니다.recruitCount는 0보다 커야 한다는 비즈니스 규칙이 적절히 검증되고 있습니다.
src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepositoryImpl.java (3)
346-346: QueryDSL 프로젝션에 recruitCount 필드가 올바르게 추가되었습니다.마감임박 방 조회 쿼리에 recruitCount 필드가 일관되게 포함되었습니다.
366-366: QueryDSL 프로젝션에 recruitCount 필드가 올바르게 추가되었습니다.인기방 조회 쿼리에 recruitCount 필드가 일관되게 포함되었습니다.
430-430: 공통 쿼리 메서드에 recruitCount 필드가 올바르게 추가되었습니다.fetchMyRooms 메서드의 QueryDSL 프로젝션에 recruitCount 필드가 일관되게 포함되어 모든 사용자 참여 방 조회 경로에서 해당 데이터가 반환됩니다.
#️⃣ 연관된 이슈
📝 작업 내용
📸 스크린샷
💬 리뷰 요구사항
📌 PR 진행 시 이러한 점들을 참고해 주세요
Summary by CodeRabbit
신규 기능
버그 수정