[fix] Redis 캐싱 시 LocalDateTime 직렬화 오류 수정#76
Merged
Roysung0625 merged 80 commits intofeature/studyroomfrom Aug 6, 2025
Merged
Conversation
mappedBy = "studyRoom" -> "studyHall"로 변경
- 테스트 시나리오: - 스터디 홀 생성 성공 - 전체 스터디 홀 조회 성공 - ID로 스터디 홀 조회 성공 - ID로 스터디 홀 조회 실패 (존재하지 않는 ID)
- 스터디 홀 생성 - 전체 스터디 홀 조회 - 특정 스터디 홀 조조회
비즈니스 로직을 검증하는 단위 테스트를 추가
…e-read [feat] 관리자 스터디 홀 생성/조회 기능 구현
…e-read [feat] 관리자 스터디 룸 생성/조회 기능 구현
- StudyHall 엔티티에 수정(update) 및 논리적 삭제(delete) 메서드 추가 - StudyHallService에 관련 비즈니스 로직 추가 - 논리적 삭제를 반영하여 조회 로직 수정
- AdminStudyRoomController에 PUT, DELETE 엔드포인트 추가 - DTO 유효성 검사를 위해 @Valid 애너테이션 적용
- StudyHallService의 수정, 삭제 로직에 대한 단위 테스트 추가 - 논리적 삭제 로직을 반영하여 기존 조회 테스트 수정 - 통합 테스트(.http 파일)에 PUT, DELETE 시나리오 추가
- Mapper에 리스트 변환 메서드(toResponseDtos) 추가 - Controller의 stream().map() 로직을 Mapper 직접 호출로 변경하여 코드 간소화
- 엔티티 클래스에 있던 update 메서드를 StudyHallMapper로 이전하여 역할을 분리하고, null 값을 제외한 선택적 필드 업데이트 로직을 구현
- boolean 타입인 isDeleted 필드가 JSON으로 변환될 때 발생하는 필드 이름 불일치 문제를 해결
…-improvements [refactor] 스터디 룸 성능 개선
[feat] studyroom 지도 전체 crud 구현 완료
…improvement [Feat] StudyRoom Reservation TestCode 작성 및 미흡부분 개선
Redis 캐싱 시 LocalDateTime 타입을 직렬화하지 못해 SerializationException이 발생하는 문제를 해결 - jackson-datatype-jsr310 의존성을 추가하여 Java 8 날짜 타입을 지원 - CacheManager Bean이 JavaTimeModule이 등록된 ObjectMapper를 사용하도록 RedisConfig를 수정하여, 캐시 데이터가 LocalDateTime을 올바르게 처리하도록 변경
|
Caution Review failedThe pull request is closed. Walkthrough이 변경사항은 스터디홀 및 스터디룸 도메인에 대한 CRUD, 위치 기반 검색, 예약 관리, 어드민 API, 외부 지도 연동, 캐시/직렬화 개선 등 전반적인 기능 구현 및 리팩토링을 포함합니다. 새로운 엔티티, DTO, 매퍼, 서비스, 컨트롤러, 예외, 테스트 코드, 설정 파일 등이 대규모로 추가 및 수정되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Admin as AdminUser
participant AdminAPI as AdminStudyRoomController
participant HallSvc as StudyHallService
participant RoomSvc as StudyRoomService
participant Repo as StudyHallRepository/StudyRoomRepository
Admin->>AdminAPI: Create StudyHall (POST)
AdminAPI->>HallSvc: createStudyHall(request)
HallSvc->>Repo: save(StudyHall)
Repo-->>HallSvc: StudyHall
HallSvc-->>AdminAPI: StudyHallResponse
AdminAPI-->>Admin: 201 Created + Location
Admin->>AdminAPI: Create StudyRoom (POST)
AdminAPI->>RoomSvc: createStudyRoom(hallId, request)
RoomSvc->>Repo: findById(hallId)
Repo-->>RoomSvc: StudyHall
RoomSvc->>Repo: save(StudyRoom)
Repo-->>RoomSvc: StudyRoom
RoomSvc-->>AdminAPI: StudyRoomResponse
AdminAPI-->>Admin: 201 Created + Location
sequenceDiagram
participant User as User
participant MapAPI as StudyRoomMapController
participant HallSvc as StudyHallService
participant RoomSvc as StudyRoomService
participant Kakao as KakaoMapService
User->>MapAPI: GET /api/v1/studyhalls/nearby
MapAPI->>HallSvc: searchNearbyStudyHalls(request)
HallSvc->>Repo: findNearbyStudyHallsWithProjection(...)
Repo-->>HallSvc: List<Projection>
HallSvc->>Kakao: calculateDistance(...)
Kakao-->>HallSvc: distance
HallSvc-->>MapAPI: List<StudyHallLocationResponse>
MapAPI-->>User: Response<List<StudyHallLocationResponse>>
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changes
Possibly related 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. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (45)
✨ Finishing Touches
🧪 Generate unit tests
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. 🪧 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 (
|
Roysung0625
approved these changes
Aug 6, 2025
Roysung0625
approved these changes
Aug 6, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 What’s this PR about?
🛠️ What’s been done?
🧪 Testing Details
👀 Checkpoints for Reviewers
📚 References & Resources
🎯 Related Issues
Summary by CodeRabbit
신규 기능
버그 수정
문서화
리팩터링
테스트
환경설정/기타