refactor: TripReportStudyLog, TripReport, Dummy 기능 전반 Kotlin 마이그레이션(#129)#130
Merged
chaiminwoo0223 merged 1 commit intodevelopfrom Feb 13, 2026
Merged
refactor: TripReportStudyLog, TripReport, Dummy 기능 전반 Kotlin 마이그레이션(#129)#130chaiminwoo0223 merged 1 commit intodevelopfrom
chaiminwoo0223 merged 1 commit intodevelopfrom
Conversation
) * feat: TripReportStudyLogCommandService.kt 구현 * feat: TripReportStudyLogRepository.kt, TripReportStudyLogJpaRepository.kt, TripReportStudyLogRepositoryAdapter.kt 구현 * feat: TripReportStudyLogFactory.kt 구현 * feat: TripReportController.kt 구현 * feat: TripReportFacade.kt 구현 * feat: TripReportQueryService.kt, TripReportCommandService.kt 구현 * feat: TripReportRepository.kt, TripReportJpaRepository.kt, TripReportRepositoryAdapter.kt 구현 * feat: TripReportErrorCode.kt, TripReportPolicy.kt 구현 * feat: TripReportFactory.kt 구현 * feat: DummyStampController.kt, DummyMissionController.kt 구현 * feat: DummyStampFacade.kt, DummyMissionFacade.kt 구현 * feat: DummyTripCommandService.kt, DummyStampCommandService.kt, DummyMissionCommandService.kt 구현 * feat: CreateTripReportRequest.kt, ConfirmTripReportImageRequest.kt, PresignTripReportImageRequest.kt 추가 * feat: CreateTripReportResponse.kt, LoadTripReportsResponse.kt, LoadTripReportDetailResponse.kt 추가 * feat: LoadTripRetrospectDetailResponse.kt, PresignedTripReportImageResponse.kt 추가 * feat: TripReportInfo.kt, TripReportsInfo.kt, TripReportDetail.kt, PresignedTripReportImageInfo.kt 추가 * feat: TripRetrospectSummary.kt, TripRetrospectDetail.kt 추가 * feat: LoadDummyStampInfoResponse.kt, LoadDummyMissionInfoResponse.kt 추가 * feat: CreateDummyTripCommand.kt, CreateDummyStampCommand.kt, CreateDummyMissionCommand.kt 추가 * feat: DummyStampInfo.kt, DummyStampsInfo.kt, DummyMissionInfo.kt, DummyMissionsInfo.kt 추가 * refactor: TripReportQueryRepository.java에 findAllActiveByMemberId 메서드 추가 * test: TripReportStudyLogCommandServiceTest.kt 단위 테스트 추가 * test: TripReportFixture.kt, CreateTripReportRequestFixture.kt 추가 * test: ConfirmTripReportImageRequestFixture.kt, PresignTripReportImageRequestFixture.kt 추가 * test: TripReportTestHelper.kt 추가 * test: TripReportQueryServiceTest.kt, TripReportCommandServiceTest.kt 단위 테스트 추가 * test: TripReportControllerIntegrationTest.kt 통합 테스트 추가 * test: DummyTripCommandServiceTest.kt, DummyStampCommandServiceTest.kt, DummyMissionCommandServiceTest.kt 단위 테스트 추가 * test: DummyStampControllerIntegrationTest.kt, DummyMissionControllerIntegrationTest.kt 통합 테스트 추가 * test: StudyLogTestHelper.kt에 saveDeletedStudyLog 메서드 추가 * test: test java trip, dummy 패키지 제거 (Kotlin 마이그레이션 완료)
cac75d8 to
b9e0fa3
Compare
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.
📌 작업 내용 및 특이사항
✅ Java → Kotlin 마이그레이션 개요
TripReportStudyLog,TripReport,Dummy전반을 Java → Kotlin으로 마이그레이션했습니다.Kotlin–Java 혼용 환경에서도 안정적으로 동작하도록 구조를 정리하는 데 초점을 맞췄습니다.정적 팩토리 메서드(of, from)와도메인 책임 구조(Factory, Policy, Service, Facade)를 최대한 유지했습니다.✅ 테스트 코드 Kotlin 마이그레이션
누락된 케이스(완료 상태 검증)를 추가했습니다.접근자 차이(getter 인식 문제, record → data class 전환에 따른 호출 방식 변화 등)를 테스트 단계에서 먼저 확인했습니다.object사용을 지양하고,class + DSL(withXXX) 패턴으로 통일하여 테스트 간 상태 공유 문제를 해결했습니다.✅
@JvmStatic적용으로 인한 Java ↔ Kotlin 정적 호출 문제 해결object에 정의된 메서드는 JVM 레벨에서 기본적으로INSTANCE.create()형태로 노출됩니다.xxxFactory.create()형태의정적(static) 호출 방식을 사용하고 있었습니다.@JvmStatic을 적용하여,create()메서드가 JVM 레벨의 static 메서드로 노출되도록 변경하여 문제를 해결했습니다.@JvmStatic을 제거할 예정입니다.✅ TripReportStudyLog 도메인 Kotlin 마이그레이션
TripReportStudyLogCommandServiceKotlin 전환TripReportStudyLogRepository,TripReportStudyLogJpaRepository,TripReportStudyLogRepositoryAdapterKotlin 전환TripReportStudyLogFactoryKotlin 전환✅ TripReport 도메인 Kotlin 마이그레이션
TripReportControllerKotlin 전환TripReportFacadeKotlin 전환TripReportQueryService,TripReportCommandServiceKotlin 전환TripReportRepository,TripReportJpaRepository,TripReportRepositoryAdapterKotlin 전환TripReportErrorCode,TripReportPolicyKotlin 전환TripReportFactoryKotlin 전환✅ Dummy 도메인 Kotlin 마이그레이션
DummyStampController,DummyMissionControllerKotlin 전환DummyStampFacade,DummyMissionFacadeKotlin 전환DummyTripCommandService,DummyStampCommandService,DummyMissionCommandServiceKotlin 전환✅ TripReport DTO Kotlin 마이그레이션
CreateTripReportRequest,ConfirmTripReportImageRequest,PresignTripReportImageRequestKotlin 전환CreateTripReportResponse,LoadTripReportsResponse,LoadTripReportDetailResponse,LoadTripRetrospectDetailResponse,PresignedTripReportImageResponseKotlin 전환TripReportInfo,TripReportsInfo,TripReportDetail,PresignedTripReportImageInfo,TripRetrospectSummary,TripRetrospectDetailKotlin 전환✅ Dummy DTO Kotlin 마이그레이션
LoadDummyStampInfoResponse,LoadDummyMissionInfoResponseKotlin 전환CreateDummyTripCommand,CreateDummyStampCommand,CreateDummyMissionCommandKotlin 전환DummyStampInfo,DummyStampsInfo,DummyMissionInfo,DummyMissionsInfoKotlin 전환🌱 관련 이슈
🔍 참고사항(선택)
_(언더스코어)금지📚 기타(선택)