From e89241f9dc8be650b917077f0e9c463e3c2e5cc2 Mon Sep 17 00:00:00 2001 From: sso0om Date: Tue, 14 Oct 2025 00:06:01 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Refactor:=20PENDING=EC=9D=B4=EC=96=B4?= =?UTF-8?q?=EB=8F=84=20=EC=98=88=EC=95=BD=20=EC=A1=B0=ED=9A=8C=EB=90=98?= =?UTF-8?q?=EA=B2=8C=20=EB=B3=80=EA=B2=BD=20(#298)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mentoring/reservation/service/ReservationService.java | 6 ++++-- .../mentoring/session/service/MentoringSessionService.java | 6 ++++++ .../reservation/service/ReservationServiceTest.java | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/back/src/main/java/com/back/domain/mentoring/reservation/service/ReservationService.java b/back/src/main/java/com/back/domain/mentoring/reservation/service/ReservationService.java index 659db6e0..1a2772b9 100644 --- a/back/src/main/java/com/back/domain/mentoring/reservation/service/ReservationService.java +++ b/back/src/main/java/com/back/domain/mentoring/reservation/service/ReservationService.java @@ -56,9 +56,11 @@ public ReservationResponse getReservation(Member member, Long reservationId) { Reservation reservation = reservationRepository.findByIdAndMember(reservationId, member.getId()) .orElseThrow(() -> new ServiceException(ReservationErrorCode.RESERVATION_NOT_ACCESSIBLE)); - MentoringSession mentoringSession = mentoringSessionService.getMentoringSessionByReservation(reservation); + Optional mentoringSession = mentoringSessionService.findMentoringSessionByReservation(reservation); - return ReservationResponse.from(reservation, mentoringSession); + return mentoringSession + .map(session -> ReservationResponse.from(reservation, session)) + .orElseGet(() -> ReservationResponse.from(reservation)); } @Transactional diff --git a/back/src/main/java/com/back/domain/mentoring/session/service/MentoringSessionService.java b/back/src/main/java/com/back/domain/mentoring/session/service/MentoringSessionService.java index 3d457e2e..e91bd799 100644 --- a/back/src/main/java/com/back/domain/mentoring/session/service/MentoringSessionService.java +++ b/back/src/main/java/com/back/domain/mentoring/session/service/MentoringSessionService.java @@ -8,6 +8,8 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Optional; + @Service @RequiredArgsConstructor public class MentoringSessionService { @@ -28,6 +30,10 @@ public MentoringSession getMentoringSessionByReservation(Reservation reservation .orElseThrow(() -> new ServiceException("404", "해당 예약의 세션이 없습니다.")); } + public Optional findMentoringSessionByReservation(Reservation reservation) { + return mentoringSessionRepository.findByReservation((reservation)); + } + public MentoringSession getMentoringSessionByMentoring(Mentoring mentoring) { return mentoringSessionRepository.findByMentoring(mentoring) .orElseThrow(() -> new ServiceException("404", "해당 멘토링의 세션이 없습니다.")); diff --git a/back/src/test/java/com/back/domain/mentoring/reservation/service/ReservationServiceTest.java b/back/src/test/java/com/back/domain/mentoring/reservation/service/ReservationServiceTest.java index 891ac7d2..bfa2820e 100644 --- a/back/src/test/java/com/back/domain/mentoring/reservation/service/ReservationServiceTest.java +++ b/back/src/test/java/com/back/domain/mentoring/reservation/service/ReservationServiceTest.java @@ -135,7 +135,7 @@ void getReservation() { when(reservationRepository.findByIdAndMember(reservationId, mentor.getMember().getId())) .thenReturn(Optional.of(reservation)); MentoringSession session = MentoringSessionFixture.create(reservation); - when(mentoringSessionService.getMentoringSessionByReservation(reservation)).thenReturn(session); + when(mentoringSessionService.findMentoringSessionByReservation(reservation)).thenReturn(Optional.ofNullable(session)); // when ReservationResponse response = reservationService.getReservation( From 74129d9f8adb9135395dc2d61f32bbf30a75309c Mon Sep 17 00:00:00 2001 From: dbfgml20 <53211374+dbfgml2000@users.noreply.github.com> Date: Tue, 14 Oct 2025 00:09:57 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Fix:=20=EC=B4=88=EA=B8=B0=ED=99=94=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?(#300)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: DB 외래키 문제 발생 로직 주석 처리 * fix: 기존과 동일하게 트랜잭션 처리하도록 수정 * chore: 운영 DB에 직업 로드맵 데이터 추가 * chore: 디버깅을 위한 log 및 try-catch 추가 * fix: 에러 처리 --- .../main/java/com/back/global/initData/RoadmapProdInitData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/src/main/java/com/back/global/initData/RoadmapProdInitData.java b/back/src/main/java/com/back/global/initData/RoadmapProdInitData.java index 8ff7b28a..1f74e25f 100644 --- a/back/src/main/java/com/back/global/initData/RoadmapProdInitData.java +++ b/back/src/main/java/com/back/global/initData/RoadmapProdInitData.java @@ -66,7 +66,7 @@ public void runInitData() { log.info(">>> Step 3: JobRoadmap 샘플 데이터 생성 완료"); } catch (Exception e) { log.error("JobRoadmap 샘플 데이터 생성 실패", e); - throw e; + //throw e; } // 통합 로직 테스트