From 4638ce7d31833801efd8eb2b6399f9a09af376c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=95=88=EC=A0=95=ED=9B=84?= Date: Mon, 29 Jul 2024 20:44:16 +0900 Subject: [PATCH] fix: menu mapper feature --- .../store/application/StoreInfoUseCase.java | 20 ++++--------------- .../apimodule/store/mapper/MenuMapper.java | 20 +++++++++++++++++++ .../store/presentation/StoreController.java | 5 +++-- 3 files changed, 27 insertions(+), 18 deletions(-) create mode 100644 api-module/src/main/java/com/likelion/apimodule/store/mapper/MenuMapper.java diff --git a/api-module/src/main/java/com/likelion/apimodule/store/application/StoreInfoUseCase.java b/api-module/src/main/java/com/likelion/apimodule/store/application/StoreInfoUseCase.java index a3f077b..08b1ca7 100644 --- a/api-module/src/main/java/com/likelion/apimodule/store/application/StoreInfoUseCase.java +++ b/api-module/src/main/java/com/likelion/apimodule/store/application/StoreInfoUseCase.java @@ -4,6 +4,7 @@ import com.likelion.apimodule.store.dto.MenuDetailDTO; import com.likelion.apimodule.store.dto.StoreInfo; import com.likelion.apimodule.store.dto.StoreResponse; +import com.likelion.apimodule.store.mapper.MenuMapper; import com.likelion.coremodule.cart.domain.Cart; import com.likelion.coremodule.cart.service.CartQueryService; import com.likelion.coremodule.menu.domain.Menu; @@ -22,7 +23,6 @@ import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; @Service @RequiredArgsConstructor @@ -60,22 +60,10 @@ public List findStoreInfo() { return storeInfoList; } - public StoreInfo findStoreInfoByMenuId(Long menuId) { + public MenuDetailDTO findMenuById(Long menuId) { + Menu menu = menuQueryService.findMenuById(menuId); - Store store = menu.getStore(); - - List menus = menuQueryService.findMenusByStoreId(store.getId()); - List menuDetails = menus.stream() - .map(m -> new MenuDetailDTO( - m.getId(), - m.getName(), - m.getPrice(), - m.getContent(), - m.getImageUrl())) - .collect(Collectors.toList()); - - List reviews = reviewQueryService.findReviewsByStoreId(store.getId()); - return getStoreInfo(store, reviews, menuDetails); + return MenuMapper.toInfoDTO(menu); } private StoreInfo getStoreInfo(Store store, List reviews, List menuDetails) { diff --git a/api-module/src/main/java/com/likelion/apimodule/store/mapper/MenuMapper.java b/api-module/src/main/java/com/likelion/apimodule/store/mapper/MenuMapper.java new file mode 100644 index 0000000..4dc70d7 --- /dev/null +++ b/api-module/src/main/java/com/likelion/apimodule/store/mapper/MenuMapper.java @@ -0,0 +1,20 @@ +package com.likelion.apimodule.store.mapper; + +import com.likelion.apimodule.store.dto.MenuDetailDTO; +import com.likelion.coremodule.menu.domain.Menu; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; + +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class MenuMapper { + + public static MenuDetailDTO toInfoDTO(Menu menu) { + return new MenuDetailDTO( + menu.getId(), + menu.getName(), + menu.getPrice(), + menu.getContent(), + menu.getImageUrl() + ); + } +} diff --git a/api-module/src/main/java/com/likelion/apimodule/store/presentation/StoreController.java b/api-module/src/main/java/com/likelion/apimodule/store/presentation/StoreController.java index 430d7c8..722a8ca 100644 --- a/api-module/src/main/java/com/likelion/apimodule/store/presentation/StoreController.java +++ b/api-module/src/main/java/com/likelion/apimodule/store/presentation/StoreController.java @@ -1,6 +1,7 @@ package com.likelion.apimodule.store.presentation; import com.likelion.apimodule.store.application.StoreInfoUseCase; +import com.likelion.apimodule.store.dto.MenuDetailDTO; import com.likelion.apimodule.store.dto.StoreInfo; import com.likelion.commonmodule.exception.common.ApplicationResponse; import com.likelion.commonmodule.security.util.AuthConsts; @@ -52,9 +53,9 @@ public ApplicationResponse> getStoreInfo() { } ) @Operation(summary = "가게 메뉴 정보 확인 API", description = "가게 메뉴 정보 확인 API 입니다.") - public ApplicationResponse getStoreInfoByMenuId(@PathVariable Long menuId) { + public ApplicationResponse getMenuInfoById(@PathVariable Long menuId) { - StoreInfo info = storeInfoUseCase.findStoreInfoByMenuId(menuId); + MenuDetailDTO info = storeInfoUseCase.findMenuById(menuId); return ApplicationResponse.ok(info); }