From 7958cc206a5cbe06e7371ae1153950cc8daa22f5 Mon Sep 17 00:00:00 2001 From: INKWON Date: Sat, 27 Jan 2024 03:03:30 +0900 Subject: [PATCH] =?UTF-8?q?[feat]=20=EC=A0=80=EC=9E=A5=20=EC=B7=A8?= =?UTF-8?q?=EC=86=8C=20=EC=8B=9C=20storecount=20=EA=B0=90=EC=86=8C=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tripcometrue/domain/city/entity/City.java | 6 ++++++ .../tripcometrue/domain/place/entity/Place.java | 6 ++++++ .../domain/store/service/StoreService.java | 15 +++++++++++++++ .../domain/triprecord/entity/TripRecord.java | 6 ++++++ 4 files changed, 33 insertions(+) diff --git a/src/main/java/com/haejwo/tripcometrue/domain/city/entity/City.java b/src/main/java/com/haejwo/tripcometrue/domain/city/entity/City.java index 3eaf68aa..074594af 100644 --- a/src/main/java/com/haejwo/tripcometrue/domain/city/entity/City.java +++ b/src/main/java/com/haejwo/tripcometrue/domain/city/entity/City.java @@ -67,5 +67,11 @@ public void incrementStoreCount() { this.storeCount++; } } + + public void decrementStoreCount() { + if(this.storeCount > 0) { + this.storeCount--; + } + } } diff --git a/src/main/java/com/haejwo/tripcometrue/domain/place/entity/Place.java b/src/main/java/com/haejwo/tripcometrue/domain/place/entity/Place.java index dcad9ad8..3322855c 100644 --- a/src/main/java/com/haejwo/tripcometrue/domain/place/entity/Place.java +++ b/src/main/java/com/haejwo/tripcometrue/domain/place/entity/Place.java @@ -90,6 +90,12 @@ public void incrementStoreCount() { } } + public void decrementStoreCount() { + if(this.storedCount > 0) { + this.storedCount--; + } + } + public void incrementReviewCount() { if(this.reviewCount == null) { this.reviewCount = 1; 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 48b6660b..3710a640 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 @@ -109,6 +109,11 @@ public void unstoreCity(PrincipalDetails principalDetails, Long cityId) { Long memberId = principalDetails.getMember().getId(); CityStore cityStore = cityStoreRepository.findByMemberIdAndCityId(memberId, cityId) .orElseThrow(() -> new StoreNotFoundException(ErrorCode.STORE_NOT_FOUND)); + + City city = cityRepository.findById(cityId) + .orElseThrow(); + city.decrementStoreCount(); + cityStoreRepository.delete(cityStore); } @@ -117,6 +122,11 @@ public void unstorePlace(PrincipalDetails principalDetails, Long placeId) { Long memberId = principalDetails.getMember().getId(); PlaceStore placeStore = placeStoreRepository.findByMemberIdAndPlaceId(memberId, placeId) .orElseThrow(() -> new StoreNotFoundException(ErrorCode.STORE_NOT_FOUND)); + + Place place = placeRepository.findById(placeId) + .orElseThrow(()-> new PlaceNotFoundException()); + place.decrementStoreCount(); + placeStoreRepository.delete(placeStore); } @@ -125,6 +135,11 @@ public void unstoreTripRecord(PrincipalDetails principalDetails, Long tripRecord Long memberId = principalDetails.getMember().getId(); TripRecordStore tripRecordStore = tripRecordStoreRepository.findByMemberIdAndTripRecordId(memberId, tripRecordId) .orElseThrow(() -> new StoreNotFoundException(ErrorCode.STORE_NOT_FOUND)); + + TripRecord tripRecord = tripRecordRepository.findById(tripRecordId) + .orElseThrow(()-> new TripRecordNotFoundException()); + tripRecord.decrementStoreCount(); + tripRecordStoreRepository.delete(tripRecordStore); } diff --git a/src/main/java/com/haejwo/tripcometrue/domain/triprecord/entity/TripRecord.java b/src/main/java/com/haejwo/tripcometrue/domain/triprecord/entity/TripRecord.java index dcd73d81..95f83478 100644 --- a/src/main/java/com/haejwo/tripcometrue/domain/triprecord/entity/TripRecord.java +++ b/src/main/java/com/haejwo/tripcometrue/domain/triprecord/entity/TripRecord.java @@ -114,6 +114,12 @@ public void incrementStoreCount() { } } + public void decrementStoreCount() { + if(this.storeCount > 0) { + this.storeCount--; + } + } + public void incrementReviewCount() { if(this.reviewCount == null) { this.reviewCount = 1;