-
Notifications
You must be signed in to change notification settings - Fork 0
✨ feat : 방 비교 및 홈 API 응답 수정 #85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The head ref may contain hidden characters: "feat/\uD648-\uAD00\uB828-\uAE30\uB2A5-\uAD6C\uD604"
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughPR는 홈 공지 응답 DTO를 도입하고, MongoDB 집계를 통한 단지 정렬 기능을 구현하며, 주변시설 기반 정렬을 추가하고, 핀포인트 응답을 래퍼 DTO로 변경합니다. Changes
Sequence Diagram(s)sequenceDiagram
actor Client
participant NoticeApi
participant NoticeService
participant ComplexService
participant ComplexRepository
participant MongoDB
Client->>NoticeApi: compareUnitTypes(noticeId, pinPointId, sortType, nearbyFacilities)
NoticeApi->>NoticeService: compareUnitTypes(...)
alt sortType == FACILITY_MATCH
NoticeService->>ComplexService: loadComplexes(noticeId)
ComplexService->>ComplexRepository: findByNoticeId(noticeId)
ComplexRepository->>MongoDB: query
MongoDB-->>ComplexRepository: ComplexDocuments
ComplexRepository-->>ComplexService: List<ComplexDocument>
ComplexService-->>NoticeService: List<ComplexDocument>
NoticeService->>NoticeService: sortByFacilityMatch(items, nearbyFacilities)
Note over NoticeService: 시설 교집합 수로 정렬<br/>(예금, 면적, 지역, 단지명, 방타입 순)
else sortType == DISTANCE_ASC
NoticeService->>ComplexService: loadComplexes(noticeId)
ComplexService->>ComplexRepository: findByNoticeId(noticeId)
ComplexRepository->>MongoDB: query
MongoDB-->>ComplexRepository: ComplexDocuments
ComplexRepository-->>ComplexService: List<ComplexDocument>
ComplexService-->>NoticeService: List<ComplexDocument>
NoticeService->>NoticeService: sortByDistance(items)
Note over NoticeService: 거리로 정렬<br/>(예금, 지역, 단지명, 방타입 순)
else Other sortType
NoticeService->>ComplexService: loadSortedComplexes(noticeId, sortType)
ComplexService->>ComplexRepository: findSortedComplexesWithUnitTypes(noticeId, sortType)
ComplexRepository->>MongoDB: aggregation pipeline
Note over MongoDB: match → unwind → sort → group → project
MongoDB-->>ComplexRepository: sorted ComplexDocuments
ComplexRepository-->>ComplexService: List<ComplexDocument>
ComplexService-->>NoticeService: List<ComplexDocument>
end
NoticeService->>NoticeService: buildComparisonItems(complexes)
NoticeService-->>NoticeApi: UnitTypeCompareResponse
NoticeApi-->>Client: ApiResponse<UnitTypeCompareResponse>
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
✨ Finishing touches
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (22)
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 |
📌 작업한 내용
🔍 참고 사항
🖼️ 스크린샷
🔗 관련 이슈
✅ 체크리스트
Summary by CodeRabbit
릴리스 노트
새로운 기능
개선
✏️ Tip: You can customize this high-level summary in your review settings.