From 4fa5155faa3c549db654e5b5b9c4d8c1638ea797 Mon Sep 17 00:00:00 2001 From: jo0oy Date: Sat, 27 Jan 2024 04:02:33 +0900 Subject: [PATCH] =?UTF-8?q?[feat]=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=ED=95=9C?= =?UTF-8?q?=20=EC=82=AC=EC=9A=A9=EC=9E=90=EA=B0=80=20=ED=95=B4=EB=8B=B9=20?= =?UTF-8?q?=EB=8F=84=EC=8B=9C=20=EB=B3=B4=EA=B4=80=ED=96=88=EB=8A=94?= =?UTF-8?q?=EC=A7=80=20=ED=99=95=EC=9D=B8=20=EC=84=9C=EB=B9=84=EC=8A=A4=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit related to: #127 --- .../domain/store/service/StoreService.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/com/haejwo/tripcometrue/domain/store/service/StoreService.java b/src/main/java/com/haejwo/tripcometrue/domain/store/service/StoreService.java index 3710a640..e63a4e15 100644 --- a/src/main/java/com/haejwo/tripcometrue/domain/store/service/StoreService.java +++ b/src/main/java/com/haejwo/tripcometrue/domain/store/service/StoreService.java @@ -9,6 +9,7 @@ import com.haejwo.tripcometrue.domain.store.dto.request.CityStoreRequestDto; import com.haejwo.tripcometrue.domain.store.dto.request.PlaceStoreRequestDto; import com.haejwo.tripcometrue.domain.store.dto.request.TripRecordStoreRequestDto; +import com.haejwo.tripcometrue.domain.store.dto.response.CheckCityStoredResponseDto; import com.haejwo.tripcometrue.domain.store.dto.response.CityStoreResponseDto; import com.haejwo.tripcometrue.domain.store.dto.response.PlaceStoreResponseDto; import com.haejwo.tripcometrue.domain.store.dto.response.TripRecordStoreResponseDto; @@ -30,6 +31,8 @@ import com.haejwo.tripcometrue.global.springsecurity.PrincipalDetails; import jakarta.transaction.Transactional; import java.util.List; +import java.util.Objects; + import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -143,6 +146,25 @@ public void unstoreTripRecord(PrincipalDetails principalDetails, Long tripRecord tripRecordStoreRepository.delete(tripRecordStore); } + public CheckCityStoredResponseDto checkCityStoredByLoginMember(PrincipalDetails principalDetails, Long cityId) { + + if (Objects.isNull(principalDetails.getMember())) { + return CheckCityStoredResponseDto.builder() + .isStored(false) + .build(); + } + + Long memberId = principalDetails.getMember().getId(); + + return CheckCityStoredResponseDto.builder() + .isStored( + cityStoreRepository + .findByMemberIdAndCityId(memberId, cityId) + .isPresent() + ) + .build(); + } + public Page getStoredCities(PrincipalDetails principalDetails, Pageable pageable) { Page storedCities = cityStoreRepository.findByMember(principalDetails.getMember(), pageable); return storedCities.map(CityStoreResponseDto::fromEntity);