From 75fcc96b125e425efa88948badc3f1f27f80ed75 Mon Sep 17 00:00:00 2001 From: Yujeong <22mallow3@gmail.com> Date: Tue, 22 Apr 2025 21:41:45 +0900 Subject: [PATCH] =?UTF-8?q?[TMO-62]=20=EC=83=81=EB=8C=80=EB=B0=A9=20?= =?UTF-8?q?=EC=97=AC=ED=96=89=20=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EB=94=94=EB=B2=84=EA=B9=85=EC=9D=84=20?= =?UTF-8?q?=EC=9C=84=ED=95=9C=20=EB=A1=9C=EA=B7=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserTravelListController.java | 31 +++++++++--- .../travel/service/TravelListService.java | 50 +++++++++---------- 2 files changed, 49 insertions(+), 32 deletions(-) diff --git a/src/main/java/swyp/swyp6_team7/profile/controller/UserTravelListController.java b/src/main/java/swyp/swyp6_team7/profile/controller/UserTravelListController.java index b0e0fec6..0e745f62 100644 --- a/src/main/java/swyp/swyp6_team7/profile/controller/UserTravelListController.java +++ b/src/main/java/swyp/swyp6_team7/profile/controller/UserTravelListController.java @@ -1,6 +1,7 @@ package swyp.swyp6_team7.profile.controller; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; @@ -13,6 +14,7 @@ import swyp.swyp6_team7.travel.service.TravelAppliedService; import swyp.swyp6_team7.travel.service.TravelListService; +@Slf4j @RestController @RequiredArgsConstructor @RequestMapping("/api/users") @@ -29,10 +31,15 @@ public ApiResponse> getTargetUserCreatedTravels( @RequestParam(value = "size", defaultValue = "5") int size, @RequireUserNumber Integer userNumber ){ - Pageable pageable = PageRequest.of(page, size); - Page createdTravelList = travelListService.getTravelListByUser(targetUserNumber, pageable); + try { + Pageable pageable = PageRequest.of(page, size); + Page createdTravelList = travelListService.getTravelListByUser(targetUserNumber, pageable); - return ApiResponse.success(createdTravelList); + return ApiResponse.success(createdTravelList); + } catch (Exception e){ + log.error("만든 여행 조회 실패 - 상대 userNumber={}, error={}",targetUserNumber, e.getMessage()); + throw e; + } } // 상대방의 참가한 여행 목록 조회 @@ -43,10 +50,15 @@ public ApiResponse> getTargetUserAppliedTravels( @RequestParam(value = "size", defaultValue = "5") int size, @RequireUserNumber Integer userNumber ){ - Pageable pageable = PageRequest.of(page, size); - Page appliedTravelList = travelAppliedService.getAppliedTripsByUser(targetUserNumber, pageable); + try { + Pageable pageable = PageRequest.of(page, size); + Page appliedTravelList = travelAppliedService.getAppliedTripsByUser(targetUserNumber, pageable); - return ApiResponse.success(appliedTravelList); + return ApiResponse.success(appliedTravelList); + } catch (Exception e){ + log.error("신청한 여행 조회 실패 - 상대 userNumber={}, error={}",targetUserNumber, e.getMessage()); + throw e; + } } // 상대방의 방문한 여행 로그 조회 @@ -54,6 +66,11 @@ public ApiResponse> getTargetUserAppliedTravels( public ApiResponse getVisitedCountries( @PathVariable("targetUserNumber") Integer targetUserNumber, @RequireUserNumber Integer userNumber) { - return ApiResponse.success(visitedCountryLogService.getVisitedCountriesByUser(targetUserNumber)); + try { + return ApiResponse.success(visitedCountryLogService.getVisitedCountriesByUser(targetUserNumber)); + } catch (Exception e){ + log.error("여행 로그 조회 실패 - 상대 userNumber={}, error={}",targetUserNumber, e.getMessage()); + throw e; + } } } diff --git a/src/main/java/swyp/swyp6_team7/travel/service/TravelListService.java b/src/main/java/swyp/swyp6_team7/travel/service/TravelListService.java index b3661e31..9c34ea45 100644 --- a/src/main/java/swyp/swyp6_team7/travel/service/TravelListService.java +++ b/src/main/java/swyp/swyp6_team7/travel/service/TravelListService.java @@ -50,7 +50,7 @@ public Page getTravelListByUser(Integer userNumber, Pagea }).collect(Collectors.toList()); return toPage(dtos, pageable); - } catch (Exception e){ + } catch (Exception e) { log.error("getTravelListByUser() error : userNumber={}, error={}", userNumber, e.getMessage(), e); throw e; } @@ -59,10 +59,10 @@ public Page getTravelListByUser(Integer userNumber, Pagea // Travel 엔티티를 TravelListResponseDto로 변환하는 메서드 private TravelListResponseDto toTravelListResponseDto(Travel travel, Integer userNumber) { - // 동반자 수 계산 - int currentApplicants = travel.getCompanions().size(); + // 동반자 수 계산 + int currentApplicants = travel.getCompanions().size(); - // 사용자의 이름을 가져오기 위해 userNumber로 사용자 조회 + // 사용자의 이름을 가져오기 위해 userNumber로 사용자 조회 Users host = userRepository.findByUserNumber(travel.getUserNumber()) .orElseThrow(() -> { String errorMsg = String.format("작성자 정보를 찾을 수 없습니다. travelNumber=%d, userNumber=%d", @@ -72,28 +72,28 @@ private TravelListResponseDto toTravelListResponseDto(Travel travel, Integer use }); - // 태그 리스트 추출 - List tags = travel.getTravelTags().stream() - .map(travelTag -> travelTag.getTag().getName()) - .collect(Collectors.toList()); + // 태그 리스트 추출 + List tags = travel.getTravelTags().stream() + .map(travelTag -> travelTag.getTag().getName()) + .collect(Collectors.toList()); - // 북마크 여부 확인 - boolean isBookmarked = bookmarkRepository.existsByUserNumberAndTravelNumber(userNumber, travel.getNumber()); - - - return new TravelListResponseDto( - travel.getNumber(), - travel.getTitle(), - travel.getLocationName(), - host.getUserNumber(), - host.getUserName(), - tags, - currentApplicants, - travel.getMaxPerson(), - travel.getCreatedAt(), - isBookmarked - ); - } + // 북마크 여부 확인 + boolean isBookmarked = bookmarkRepository.existsByUserNumberAndTravelNumber(userNumber, travel.getNumber()); + + + return new TravelListResponseDto( + travel.getNumber(), + travel.getTitle(), + travel.getLocationName(), + host.getUserNumber(), + host.getUserName(), + tags, + currentApplicants, + travel.getMaxPerson(), + travel.getCreatedAt(), + isBookmarked + ); + } // Page 객체를 생성하는 메서드 private Page toPage(List dtos, Pageable pageable) {