From baad7ff7492f29235956244b1fcbd137504a724e Mon Sep 17 00:00:00 2001 From: jeonghyemin Date: Tue, 8 Jul 2025 14:14:36 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(Order):=20order=20=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=20=EC=B9=BC=EB=9F=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 메뉴명 & 수량 추가 --- .../order/dto/OrderResponseDto.java | 13 +++++++++++++ .../order/service/OrderService.java | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java index f5e93610..232413ee 100644 --- a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/dto/OrderResponseDto.java @@ -1,7 +1,11 @@ package com.nowait.applicationadmin.order.dto; import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import com.nowait.domaincorerdb.order.entity.OrderItem; import com.nowait.domaincorerdb.order.entity.OrderStatus; import com.nowait.domaincorerdb.order.entity.UserOrder; @@ -16,15 +20,24 @@ public class OrderResponseDto { private String depositorName; private Integer totalPrice; private OrderStatus status; + private Map menuNamesAndQuantities; private LocalDateTime createdAt; public static OrderResponseDto fromEntity(UserOrder userOrder) { + Map menuNamesAndQuantities = userOrder.getOrderItems().stream() + .collect(Collectors.toMap( + orderItem -> orderItem.getMenu().getName(), + OrderItem::getQuantity, + Integer::sum // 메뉴명이 중복일 때 수량 합침 + )); + return OrderResponseDto.builder() .id(userOrder.getId()) .tableId(userOrder.getTableId()) .depositorName(userOrder.getDepositorName()) .totalPrice(userOrder.getTotalPrice()) .status(userOrder.getStatus()) + .menuNamesAndQuantities(menuNamesAndQuantities) .createdAt(userOrder.getCreatedAt()) .build(); } diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java index beea5508..eebf249c 100644 --- a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java @@ -9,6 +9,9 @@ import com.nowait.applicationadmin.order.dto.OrderResponseDto; import com.nowait.applicationadmin.order.dto.OrderStatusUpdateResponseDto; import com.nowait.common.enums.Role; +import com.nowait.domaincorerdb.menu.entity.Menu; +import com.nowait.domaincorerdb.menu.exception.MenuNotFoundException; +import com.nowait.domaincorerdb.menu.repository.MenuRepository; import com.nowait.domaincorerdb.order.entity.OrderStatus; import com.nowait.domaincorerdb.order.entity.UserOrder; import com.nowait.domaincorerdb.order.exception.OrderNotFoundException; @@ -27,10 +30,12 @@ public class OrderService { private final OrderRepository orderRepository; private final UserRepository userRepository; + private final MenuRepository menuRepository; @Transactional(readOnly = true) public List findAllOrders(Long storeId, MemberDetails memberDetails) { User user = userRepository.findById(memberDetails.getId()).orElseThrow(UserNotFoundException::new); + Menu menu = menuRepository.findById(storeId).orElseThrow(MenuNotFoundException::new); if (!Role.SUPER_ADMIN.equals(user.getRole()) && !user.getStoreId().equals(storeId)) { throw new OrderViewUnauthorizedException(); } From 7e653023df9fcb09e052156554f4f8a8a659a579 Mon Sep 17 00:00:00 2001 From: jeonghyemin Date: Tue, 8 Jul 2025 14:25:40 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat(Order):=20order=20=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=20=EC=B9=BC=EB=9F=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 메뉴명 & 수량 추가 --- .../applicationadmin/order/service/OrderService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java index eebf249c..ab54a7c8 100644 --- a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/order/service/OrderService.java @@ -18,6 +18,9 @@ import com.nowait.domaincorerdb.order.exception.OrderUpdateUnauthorizedException; import com.nowait.domaincorerdb.order.exception.OrderViewUnauthorizedException; import com.nowait.domaincorerdb.order.repository.OrderRepository; +import com.nowait.domaincorerdb.store.entity.Store; +import com.nowait.domaincorerdb.store.exception.StoreNotFoundException; +import com.nowait.domaincorerdb.store.repository.StoreRepository; import com.nowait.domaincorerdb.user.entity.MemberDetails; import com.nowait.domaincorerdb.user.entity.User; import com.nowait.domaincorerdb.user.exception.UserNotFoundException; @@ -30,12 +33,13 @@ public class OrderService { private final OrderRepository orderRepository; private final UserRepository userRepository; - private final MenuRepository menuRepository; + private final StoreRepository storeRepository; @Transactional(readOnly = true) public List findAllOrders(Long storeId, MemberDetails memberDetails) { User user = userRepository.findById(memberDetails.getId()).orElseThrow(UserNotFoundException::new); - Menu menu = menuRepository.findById(storeId).orElseThrow(MenuNotFoundException::new); + storeRepository.findByStoreIdAndDeletedFalse(storeId) + .orElseThrow(StoreNotFoundException::new); if (!Role.SUPER_ADMIN.equals(user.getRole()) && !user.getStoreId().equals(storeId)) { throw new OrderViewUnauthorizedException(); }