-
Notifications
You must be signed in to change notification settings - Fork 1
유저 & 채팅 & 지도 관련 API 구현 및 수정 #49
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
Conversation
- place, festival list에서 DTO List로 변환하는 로직 util 파일로 분리하여 검색 API와 같이 사용 - 좋아요 정렬 위해 명소와 축제 각각 조회 쿼리 추가
- 채팅 전송 API 요청 정보 중 time 제거 - 지도 조회 API 예외 응답 처리
|
Caution Review failedThe pull request is closed. Walkthrough채팅 히스토리에 커서 기반 페이징과 DTO 변경을 도입하고, 지도 혼잡도 조회는 사각형 좌표 입력과 유효성 검증으로 변경되었습니다. 검색 영역은 좋아요 집계/정렬을 SearchUtil로 위임하고 관련 레포지토리 메서드를 추가했습니다. 유저 API는 인증(콜백/게스트) 분리와 마이페이지/좋아요 조회로 분리 개편되었습니다. 오류코드가 추가되고 일부 DTO/패키지 경로가 이동되었습니다. WebFlux 의존성이 제거되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
actor Client
participant Controller as ChatRestController
participant Service as ChatMongoService
participant Repo as ChatMongoRepository
participant UserRepo as UserRepository
Client->>Controller: GET /api/chat/history?cursor-id&page-size
Controller->>Service: getChatHistory(cursorId, size)
Service->>Service: pageSize 검증
alt cursorId 존재
Service->>Repo: findByIdLessThanOrderByTimeDesc(id, pageable)
else 최신
Service->>Repo: findAllByOrderByTimeDesc(pageable)
end
Service->>UserRepo: findUsersByIdIn(userIds)
Service->>Controller: ListDto(chatList, nextCursor)
Controller-->>Client: 200 OK
sequenceDiagram
actor Client
participant C as PlaceCongestionController
participant S as PlaceCongestionQueryService
participant R as PlaceRepository
participant Redis as PlaceRedisUtil
Client->>C: GET /api/place/map?lat1&lng1&lat2&lng2&type
C->>S: getMap(type, lat1,lng1,lat2,lng2)
S->>S: 좌표 범위/순서 검증
S->>R: findByBounds(lat2..lat1, lng1..lng2, type)
S->>Redis: 혼잡도 조회
S->>C: MapListDto
C-->>Client: 200 OK
sequenceDiagram
actor Client
participant UA as UserAuthController
participant CS as UserCommandService
participant LR as LoginRedirectUtil
Client->>UA: GET /users/oauth/kakao?code
UA->>CS: loginOrRegisterByKakao(code)
CS-->>UA: UserLoginResponseDTO.LoginDto
UA->>LR: getRedirectHeader(login)
LR-->>UA: HttpHeaders(Location: ...)
UA-->>Client: 302 Found (redirect)
sequenceDiagram
actor Client
participant UC as UserController
participant QS as UserQueryService
participant PR as PlaceRepository
participant FR as FestivalRepository
participant PLR as PlaceLikeRepository
participant FLR as FestivalLikesRepository
participant SU as SearchUtil
Client->>UC: GET /api/users/likes?option&sort
UC->>QS: getMyLikes(infoType, sort)
QS->>PR: findLikePlace*/findLikePlaceByType
QS->>FR: findLikeFestivals (조건부)
QS->>PLR: findLikeByPlace(places)
QS->>FLR: findLikeByFestival(festivals)
QS->>SU: listToSearchDTO(...)
SU-->>QS: List<InfoDto>
QS-->>UC: ListDto(sort, results)
UC-->>Client: 200 OK
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60–90 minutes Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (32)
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit