[FEAT] 방 찾기 페이지 부가 기능 구현#112
Hidden character warning
Conversation
|
Warning Review limit reached
More reviews will be available in 48 minutes and 15 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (9)
Walkthrough방 찾기 페이지 기능을 확대하며 사용자 체크리스트 기반 방 추천 기능을 새로 추가합니다. 응답 구조를 확장하고, 데이터베이스 쿼리를 최적화하며, 전체 계층의 테스트를 업데이트합니다. Changes방 찾기 및 추천 기능 통합
Sequence Diagram(s)sequenceDiagram
participant User
participant FindRoomsController
participant FindRoomsUseCase
participant RoomService
participant RoomRepositoryImpl
User->>FindRoomsController: GET /api/rooms/search?cursor=...
FindRoomsController->>FindRoomsUseCase: execute(userNo, request)
FindRoomsUseCase->>RoomService: searchByCursor(gender, request)
RoomService->>RoomRepositoryImpl: findByCursorWithLateral(...)
RoomRepositoryImpl-->>RoomService: CursorPage<FindRoomsResponse>
FindRoomsUseCase->>RoomService: countSearchResults(gender, request)
Note over FindRoomsUseCase: cursor가 null인 경우만 호출
RoomService->>RoomRepositoryImpl: countByFilter(...)
RoomRepositoryImpl-->>RoomService: totalCount
FindRoomsUseCase-->>FindRoomsController: FindRoomsPageResponse
FindRoomsController-->>User: 200 OK {items, nextCursor, hasNext, totalCount}
sequenceDiagram
participant User
participant LoadRecommendedRoomsController
participant LoadRecommendedRoomsUseCase
participant UserChecklistRepository
participant RoomRuleRepository
User->>LoadRecommendedRoomsController: GET /api/rooms/recommended
LoadRecommendedRoomsController->>LoadRecommendedRoomsUseCase: execute(userNo)
LoadRecommendedRoomsUseCase->>UserChecklistRepository: existsByUserNo(userNo)
alt 체크리스트 없음
LoadRecommendedRoomsUseCase-->>LoadRecommendedRoomsController: {hasChecklist: false, items: []}
else 체크리스트 있음
LoadRecommendedRoomsUseCase->>RoomRuleRepository: findAllActiveWithRoom()
RoomRuleRepository-->>LoadRecommendedRoomsUseCase: List<RoomRule>
loop 각 RoomRule에 대해
LoadRecommendedRoomsUseCase->>LoadRecommendedRoomsUseCase: buildResponse(userChecklist, rule)
Note over LoadRecommendedRoomsUseCase: 필드 비교→점수 계산→추천 라벨 결정
end
LoadRecommendedRoomsUseCase-->>LoadRecommendedRoomsController: {hasChecklist: true, items: [...]}
end
LoadRecommendedRoomsController-->>User: 200 OK
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes 🚥 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. ✨ 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 |
📝 Pull Request Template
📌 제목
📢 요약
프론트와 API 연동 중 필요한 엔드포인트 개발
🔗 연관 이슈: Resolves #111
🚀 PR 유형
✅ PR 체크리스트
📜 기타
Summary by CodeRabbit
릴리스 노트
New Features
Improvements