From 733449f28516a28b91aa308b576514d564531807 Mon Sep 17 00:00:00 2001 From: Kim-Dong-Jun99 Date: Thu, 18 Jan 2024 17:21:44 +0900 Subject: [PATCH] =?UTF-8?q?Refactor=20:=20TripItem=20=EC=A0=95=EB=A0=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/trip/dto/response/TripItemMsg.java | 17 ++++++++++++++++- .../domain/trip/service/TripItemService.java | 6 ++---- .../domain/trip/service/TripService.java | 1 - 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/tenten/tentenstomp/domain/trip/dto/response/TripItemMsg.java b/src/main/java/org/tenten/tentenstomp/domain/trip/dto/response/TripItemMsg.java index 9d44caa..2061f05 100644 --- a/src/main/java/org/tenten/tentenstomp/domain/trip/dto/response/TripItemMsg.java +++ b/src/main/java/org/tenten/tentenstomp/domain/trip/dto/response/TripItemMsg.java @@ -16,7 +16,15 @@ public record TripItemMsg( ) { public static TripItemMsg fromTripItemList(Long tripId, String visitDate, Transportation transportation, List tripItems) { - return new TripItemMsg(tripId, visitDate, transportation, tripItems.stream().map(t -> new TripItemInfoMsg(t.getId(), t.getTourItem().getId(), t.getTourItem().getTitle(), t.getTourItem().getOriginalThumbnailUrl(), Category.fromCode(t.getTourItem().getContentTypeId()).getName(), t.getSeqNum(), t.getVisitDate().toString(), t.getPrice())).toList()); + List tripItemInfoMsgs = new ArrayList<>(tripItems.stream().map(t -> new TripItemInfoMsg(t.getId(), t.getTourItem().getId(), t.getTourItem().getTitle(), t.getTourItem().getOriginalThumbnailUrl(), Category.fromCode(t.getTourItem().getContentTypeId()).getName(), t.getSeqNum(), t.getVisitDate().toString(), t.getPrice())).toList()); + tripItemInfoMsgs.sort((a, b) -> { + if (!a.seqNum().equals(b.seqNum())) { + + return Integer.parseInt(Long.toString(a.seqNum() - b.seqNum())); + } + return Integer.parseInt(Long.toString(a.tripItemId() - b.tripItemId())); + }); + return new TripItemMsg(tripId, visitDate, transportation, tripItemInfoMsgs); } public static TripItemMsg fromTripItemList(Long tripId, String visitDate, List tripItems, Long tripItemId, Transportation transportation, TripItemPriceUpdateMsg updateMsg) { @@ -28,6 +36,13 @@ public static TripItemMsg fromTripItemList(Long tripId, String visitDate, List { + if (!a.seqNum().equals(b.seqNum())) { + + return Integer.parseInt(Long.toString(a.seqNum() - b.seqNum())); + } + return Integer.parseInt(Long.toString(a.tripItemId() - b.tripItemId())); + }); return new TripItemMsg(tripId, visitDate, transportation, tripItemInfoMsgs ); } } diff --git a/src/main/java/org/tenten/tentenstomp/domain/trip/service/TripItemService.java b/src/main/java/org/tenten/tentenstomp/domain/trip/service/TripItemService.java index a0569e1..0d56234 100644 --- a/src/main/java/org/tenten/tentenstomp/domain/trip/service/TripItemService.java +++ b/src/main/java/org/tenten/tentenstomp/domain/trip/service/TripItemService.java @@ -61,7 +61,6 @@ public void updateTripItemPrice(String tripItemId, TripItemPriceUpdateMsg priceU TripBudgetMsg tripBudgetMsg = new TripBudgetMsg(trip.getId(), trip.getBudget(), trip.getTripItemPriceSum() + trip.getTransportationPriceSum()); TripItemMsg tripItemMsg = fromTripItemList(trip.getId(), tripItem.getVisitDate().toString(), tripItems, tripItem.getId(), fromName(transportation), priceUpdateMsg); - trip.updateTripTransportationMap(tripTransportationMap); tripRepository.save(trip); kafkaProducer.sendAndSaveToRedis(tripBudgetMsg, tripItemMsg); @@ -83,7 +82,7 @@ public void updateTripItemVisitDate(String tripItemId, TripItemVisitDateUpdateMs ); } else { TripItem tripItem = optionalTripItem.get(); - Trip trip = tripRepository.getReferenceById(tripItem.getTrip().getId()); + Trip trip = tripItem.getTrip(); Map tripTransportationMap = trip.getTripTransportationMap(); LocalDate pastDate = tripItem.getVisitDate(); String pastDateTransportation = tripTransportationMap.getOrDefault(pastDate.toString(), CAR.getName()); @@ -124,7 +123,6 @@ public void updateTripItemVisitDate(String tripItemId, TripItemVisitDateUpdateMs trip.updateTransportationPriceSum(tripPathPriceMap.getOrDefault(newDate.toString(), 0), newDateTripPath.pathPriceSum()); tripPathPriceMap.put(pastDate.toString(), pastDateTripPath.pathPriceSum()); tripPathPriceMap.put(newDate.toString(), newDateTripPath.pathPriceSum()); - trip.updateTripTransportationMap(tripTransportationMap); trip.updateTripPathPriceMap(tripPathPriceMap); tripRepository.save(trip); @@ -153,7 +151,7 @@ public void deleteTripItem(String tripItemId, TripItemDeleteMsg tripItemDeleteMs ); } else { TripItem tripItem = optionalTripItem.get(); - Trip trip = tripRepository.getReferenceById(tripItem.getTrip().getId()); + Trip trip = tripItem.getTrip(); Map tripTransportationMap = trip.getTripTransportationMap(); LocalDate visitDate = tripItem.getVisitDate(); String transportation = tripTransportationMap.getOrDefault(visitDate.toString(), CAR.getName()); diff --git a/src/main/java/org/tenten/tentenstomp/domain/trip/service/TripService.java b/src/main/java/org/tenten/tentenstomp/domain/trip/service/TripService.java index f133ad7..9e8ae1a 100644 --- a/src/main/java/org/tenten/tentenstomp/domain/trip/service/TripService.java +++ b/src/main/java/org/tenten/tentenstomp/domain/trip/service/TripService.java @@ -161,7 +161,6 @@ private void updateBudgetAndItemsAndPath(Trip trip, List tripItems, St trip.updateTransportationPriceSum(tripPathPriceMap.getOrDefault(visitDate, 0), tripPath.pathPriceSum()); tripPathPriceMap.put(visitDate, tripPath.pathPriceSum()); trip.updateTripPathPriceMap(tripPathPriceMap); - trip.updateTripTransportationMap(tripTransportationMap); tripRepository.save(trip); TripBudgetMsg tripBudgetMsg = new TripBudgetMsg(trip.getId(), trip.getBudget(), trip.getTripItemPriceSum() + trip.getTransportationPriceSum());