Add order items
This commit is contained in:
@@ -70,8 +70,23 @@ func OrderEntityToResponse(order *entities.Order) *models.OrderResponse {
|
||||
// Map order items
|
||||
if order.OrderItems != nil {
|
||||
response.OrderItems = make([]models.OrderItemResponse, len(order.OrderItems))
|
||||
|
||||
// Build map of paid quantities per order item from payments
|
||||
paidQtyByOrderItem := map[uuid.UUID]int{}
|
||||
if order.Payments != nil {
|
||||
for _, p := range order.Payments {
|
||||
for _, poi := range p.PaymentOrderItems {
|
||||
paidQtyByOrderItem[poi.OrderItemID] += poi.Quantity
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for i, item := range order.OrderItems {
|
||||
response.OrderItems[i] = *OrderItemEntityToResponse(&item)
|
||||
resp := OrderItemEntityToResponse(&item)
|
||||
if resp != nil {
|
||||
resp.PaidQuantity = paidQtyByOrderItem[item.ID]
|
||||
response.OrderItems[i] = *resp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user