diff --git a/application/app-api/src/main/java/core/startup/mealtoktok/api/mealdelivery/MealDeliveryApi.java b/application/app-api/src/main/java/core/startup/mealtoktok/api/mealdelivery/MealDeliveryApi.java index f0f8e1e..0c1f3a8 100644 --- a/application/app-api/src/main/java/core/startup/mealtoktok/api/mealdelivery/MealDeliveryApi.java +++ b/application/app-api/src/main/java/core/startup/mealtoktok/api/mealdelivery/MealDeliveryApi.java @@ -1,5 +1,7 @@ package core.startup.mealtoktok.api.mealdelivery; +import java.util.List; + import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; @@ -49,6 +51,15 @@ public Response> searchMealDeliveries( .map(MealDeliveryResponse::from)); } + @GetMapping + public Response> searchMealDeliveriesByOrderId(String orderId) { + List responses = + mealDeliveryService.getMealDeliveries(OrderId.from(orderId)).stream() + .map(MealDeliveryResponse::from) + .toList(); + return Response.success(responses); + } + @GetMapping("/{mealDeliveryId}") public Response mealDelivery(@PathVariable Long mealDeliveryId) { return Response.success( diff --git a/application/app-api/src/main/java/core/startup/mealtoktok/api/mealdelivery/MealDeliveryApiDocs.java b/application/app-api/src/main/java/core/startup/mealtoktok/api/mealdelivery/MealDeliveryApiDocs.java index 2d53a3f..5790cbf 100644 --- a/application/app-api/src/main/java/core/startup/mealtoktok/api/mealdelivery/MealDeliveryApiDocs.java +++ b/application/app-api/src/main/java/core/startup/mealtoktok/api/mealdelivery/MealDeliveryApiDocs.java @@ -1,5 +1,7 @@ package core.startup.mealtoktok.api.mealdelivery; +import java.util.List; + import org.springframework.security.core.annotation.AuthenticationPrincipal; import core.startup.mealtoktok.api.global.dto.Response; @@ -23,6 +25,9 @@ public interface MealDeliveryApiDocs { Response> searchMealDeliveries( User currentUser, MealDeliverySearchCond cond, Cursor cursor); + @Operation(summary = "주문에 포함된 도시락 배송 목록 조회") + Response> searchMealDeliveriesByOrderId(String orderId); + @Operation(summary = "도시락 배송 단건 조회") Response mealDelivery(Long mealDeliveryId); diff --git a/domain/src/main/java/core/startup/mealtoktok/domain/mealdelivery/MealDeliveryService.java b/domain/src/main/java/core/startup/mealtoktok/domain/mealdelivery/MealDeliveryService.java index 6810dea..b530bc1 100644 --- a/domain/src/main/java/core/startup/mealtoktok/domain/mealdelivery/MealDeliveryService.java +++ b/domain/src/main/java/core/startup/mealtoktok/domain/mealdelivery/MealDeliveryService.java @@ -35,6 +35,10 @@ public SliceResult searchMealDeliveries( return mealDeliveryReader.read(recipient, cond, cursor); } + public List getMealDeliveries(OrderId orderId) { + return mealDeliveryReader.read(orderId); + } + public MealDelivery getNextDeliveryMeal(OrderId orderId) { List mealDeliveries = mealDeliveryReader.read(orderId); return mealDeliveries.stream()