From 3aaca3204c3b54ceee3a9b805143536a0d588cc6 Mon Sep 17 00:00:00 2001 From: Soap Date: Mon, 24 Jun 2024 19:56:42 +0900 Subject: [PATCH] =?UTF-8?q?Refactor.=20BookingOverviewResposne=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../booking/BookingHostController.java | 7 +++---- .../dto/response/BookingDetailResponse.java | 4 ++++ .../dto/response/BookingOverviewResponse.java | 18 ++++++++++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 BE/src/main/java/team07/airbnb/data/booking/dto/response/BookingOverviewResponse.java diff --git a/BE/src/main/java/team07/airbnb/controller/booking/BookingHostController.java b/BE/src/main/java/team07/airbnb/controller/booking/BookingHostController.java index c3e4eae1..c867f72f 100644 --- a/BE/src/main/java/team07/airbnb/controller/booking/BookingHostController.java +++ b/BE/src/main/java/team07/airbnb/controller/booking/BookingHostController.java @@ -13,6 +13,7 @@ import team07.airbnb.common.auth.aop.Authenticated; import team07.airbnb.data.booking.dto.response.BookingConfirmedResponse; import team07.airbnb.data.booking.dto.response.BookingDetailResponse; +import team07.airbnb.data.booking.dto.response.BookingOverviewResponse; import team07.airbnb.data.booking.enums.CheckAuthType; import team07.airbnb.entity.UserEntity; import team07.airbnb.service.booking.BookingAuthService; @@ -20,8 +21,6 @@ import team07.airbnb.service.booking.BookingManageService; import team07.airbnb.service.user.UserService; -import java.util.List; - import static org.springframework.http.HttpStatus.OK; import static team07.airbnb.data.user.enums.Role.HOST; @@ -64,9 +63,9 @@ public void completeBooking(@PathVariable Long bookingId, @Authenticated(HOST) @GetMapping("/management") @ResponseStatus(OK) - public List getBookingInfosOfHosting( + public BookingOverviewResponse getBookingInfosOfHosting( @Parameter(hidden = true) UserEntity host) { - return bookingInquiryService.getBookingInfoListByHost(host); + return BookingOverviewResponse.of(bookingInquiryService.getBookingInfoListByHost(host)); } diff --git a/BE/src/main/java/team07/airbnb/data/booking/dto/response/BookingDetailResponse.java b/BE/src/main/java/team07/airbnb/data/booking/dto/response/BookingDetailResponse.java index 4822aa2f..8d9d9d5a 100644 --- a/BE/src/main/java/team07/airbnb/data/booking/dto/response/BookingDetailResponse.java +++ b/BE/src/main/java/team07/airbnb/data/booking/dto/response/BookingDetailResponse.java @@ -27,4 +27,8 @@ public static BookingDetailResponse of(BookingEntity booking) { booking.getPayment() ); } + + public Integer price(){ + return payment.getTotalPrice(); + } } diff --git a/BE/src/main/java/team07/airbnb/data/booking/dto/response/BookingOverviewResponse.java b/BE/src/main/java/team07/airbnb/data/booking/dto/response/BookingOverviewResponse.java new file mode 100644 index 00000000..b8689af9 --- /dev/null +++ b/BE/src/main/java/team07/airbnb/data/booking/dto/response/BookingOverviewResponse.java @@ -0,0 +1,18 @@ +package team07.airbnb.data.booking.dto.response; + +import java.util.List; + +public record BookingOverviewResponse( + List bookings, + Integer totalIncome +) { + + public static BookingOverviewResponse of(List bookings) { + return new BookingOverviewResponse( + bookings, + bookings.stream() + .mapToInt(BookingDetailResponse::price) + .sum() + ); + } +}