diff --git a/src/main/java/org/hankki/hankkiserver/api/menu/service/MenuCommandService.java b/src/main/java/org/hankki/hankkiserver/api/menu/service/MenuCommandService.java index 04e14c00..2ae835bf 100644 --- a/src/main/java/org/hankki/hankkiserver/api/menu/service/MenuCommandService.java +++ b/src/main/java/org/hankki/hankkiserver/api/menu/service/MenuCommandService.java @@ -4,7 +4,6 @@ import org.hankki.hankkiserver.api.menu.service.command.MenuDeleteCommand; import org.hankki.hankkiserver.api.menu.service.command.MenuPatchCommand; import org.hankki.hankkiserver.api.menu.service.command.MenusPostCommand; -import org.hankki.hankkiserver.api.menu.service.response.MenuPostResponse; import org.hankki.hankkiserver.api.menu.service.response.MenusPostResponse; import org.hankki.hankkiserver.api.store.service.StoreFinder; import org.hankki.hankkiserver.domain.menu.model.Menu; @@ -40,14 +39,11 @@ public void modifyMenu(final MenuPatchCommand command) { @Transactional public MenusPostResponse createMenus(final MenusPostCommand command) { Store findStore = storeFinder.findByIdWhereDeletedIsFalse(command.storeId()); - List menus = command.menu().stream() + List menus = command.menu().stream() .filter(c -> !validateMenuConflict(findStore, c.name())) - .map(c -> { - Menu menu = Menu.create(findStore, c.name(), c.price()); - menuUpdater.save(menu); - return MenuPostResponse.of(menu); - }) + .map(c -> Menu.create(findStore, c.name(), c.price())) .toList(); + menuUpdater.saveAll(menus); updateLowestPriceInStore(findStore); return MenusPostResponse.of(menus); } @@ -56,7 +52,6 @@ private void updateLowestPriceInStore(final Store findStore) { findStore.updateLowestPrice(menuFinder.findLowestPriceByStore(findStore)); } - private boolean validateMenuConflict(Store store, String menuName) { return menuFinder.existsByStoreAndName(store, menuName); } diff --git a/src/main/java/org/hankki/hankkiserver/api/menu/service/response/MenusPostResponse.java b/src/main/java/org/hankki/hankkiserver/api/menu/service/response/MenusPostResponse.java index a05c44b7..41126d8d 100644 --- a/src/main/java/org/hankki/hankkiserver/api/menu/service/response/MenusPostResponse.java +++ b/src/main/java/org/hankki/hankkiserver/api/menu/service/response/MenusPostResponse.java @@ -1,11 +1,16 @@ package org.hankki.hankkiserver.api.menu.service.response; +import org.hankki.hankkiserver.domain.menu.model.Menu; + import java.util.List; public record MenusPostResponse( List menuList ) { - public static MenusPostResponse of(List menus) { - return new MenusPostResponse(menus); + public static MenusPostResponse of(List menus) { + List menuResponses = menus.stream() + .map(MenuPostResponse::of) + .toList(); + return new MenusPostResponse(menuResponses); } } \ No newline at end of file