diff --git a/src/main/java/ita/tinybite/domain/party/controller/PartyController.java b/src/main/java/ita/tinybite/domain/party/controller/PartyController.java index 6acd6b1..33207c6 100644 --- a/src/main/java/ita/tinybite/domain/party/controller/PartyController.java +++ b/src/main/java/ita/tinybite/domain/party/controller/PartyController.java @@ -321,11 +321,12 @@ public ResponseEntity getPartyList( public ResponseEntity getPartyDetail( @PathVariable Long partyId, @RequestHeader("Authorization") String token, - @RequestBody UserLocation userLocation + @RequestParam(required = false) Double userLat, + @RequestParam(required = false) Double userLon ) { Long userId = jwtTokenProvider.getUserId(token); - PartyDetailResponse response = partyService.getPartyDetail(partyId, userId,userLocation); + PartyDetailResponse response = partyService.getPartyDetail(partyId, userId,userLat,userLon); return ResponseEntity.ok(response); } diff --git a/src/main/java/ita/tinybite/domain/party/service/PartyService.java b/src/main/java/ita/tinybite/domain/party/service/PartyService.java index 6639623..5cdad3f 100644 --- a/src/main/java/ita/tinybite/domain/party/service/PartyService.java +++ b/src/main/java/ita/tinybite/domain/party/service/PartyService.java @@ -182,7 +182,7 @@ public PartyListResponse getPartyList(Long userId, PartyCategory category) { /** * 파티 상세 조회 */ - public PartyDetailResponse getPartyDetail(Long partyId, Long userId, UserLocation userLocation) { + public PartyDetailResponse getPartyDetail(Long partyId, Long userId, Double userLat, Double userLon) { Party party = partyRepository.findById(partyId) .orElseThrow(() -> new IllegalArgumentException("파티를 찾을 수 없습니다")); @@ -200,10 +200,10 @@ public PartyDetailResponse getPartyDetail(Long partyId, Long userId, UserLocatio // 거리 계산 (사용자 위치 필요) double distance = 0.0; - if (validateLocation(user,userLocation,party)) { + if (validateLocation(user,userLat, userLon,party)) { distance = DistanceCalculator.calculateDistance( - userLocation.getLatitude(), - userLocation.getLongitude(), + userLat, + userLon, party.getPickupLocation().getPickupLatitude(), party.getPickupLocation().getPickupLongitude() ); @@ -212,10 +212,10 @@ public PartyDetailResponse getPartyDetail(Long partyId, Long userId, UserLocatio return convertToDetailResponse(party, distance, isParticipating); } - private boolean validateLocation(User user, UserLocation userLocation, Party party) { + private boolean validateLocation(User user, Double userLat, Double userLon, Party party) { return (user != null - && userLocation.getLatitude() != null - && userLocation.getLongitude()!= null + && userLat != null + && userLon!= null && party.getPickupLocation().getPickupLatitude()!= null && party.getPickupLocation().getPickupLongitude()!=null); }