mirror of
https://github.com/andwati/cymelle.git
synced 2026-10-18 08:22:54 +00:00
completed mappers
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.andwati.orders.mappers;
|
||||
|
||||
import com.andwati.orders.dto.response.InventoryItemResponse;
|
||||
import com.andwati.orders.model.InventoryItem;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class InventoryMapper {
|
||||
|
||||
public InventoryItemResponse toResponse(InventoryItem inventoryItem) {
|
||||
return new InventoryItemResponse(
|
||||
inventoryItem.getProduct().getId(),
|
||||
inventoryItem.getProduct().getName(),
|
||||
inventoryItem.getProduct().getSku(),
|
||||
inventoryItem.getAvailableQuantity(),
|
||||
inventoryItem.getReservedQuantity(),
|
||||
inventoryItem.getReorderLevel(),
|
||||
inventoryItem.getStatus(),
|
||||
inventoryItem.getUpdatedAt()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.andwati.orders.mappers;
|
||||
|
||||
import com.andwati.orders.dto.response.CancelOrderResponse;
|
||||
import com.andwati.orders.dto.response.OrderItemResponse;
|
||||
import com.andwati.orders.dto.response.OrderResponse;
|
||||
import com.andwati.orders.dto.response.OrderSummaryResponse;
|
||||
import com.andwati.orders.model.Order;
|
||||
import com.andwati.orders.model.OrderItem;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class OrderMapper {
|
||||
|
||||
public OrderResponse toResponse(Order order) {
|
||||
return new OrderResponse(
|
||||
order.getId(),
|
||||
order.getCustomerName(),
|
||||
order.getStatus(),
|
||||
order.getItems().stream().map(this::toItemResponse).toList(),
|
||||
order.getTotalAmount(),
|
||||
order.getCurrency(),
|
||||
order.getCreatedAt(),
|
||||
order.getCancelledAt()
|
||||
);
|
||||
}
|
||||
|
||||
public OrderSummaryResponse toSummaryResponse(Order order) {
|
||||
int itemCount = order.getItems()
|
||||
.stream()
|
||||
.mapToInt(OrderItem::getQuantity)
|
||||
.sum();
|
||||
|
||||
return new OrderSummaryResponse(
|
||||
order.getId(),
|
||||
order.getCustomerName(),
|
||||
order.getStatus(),
|
||||
order.getTotalAmount(),
|
||||
order.getCurrency(),
|
||||
itemCount,
|
||||
order.getCreatedAt(),
|
||||
order.getCancelledAt()
|
||||
);
|
||||
}
|
||||
|
||||
public CancelOrderResponse toCancelResponse(Order order) {
|
||||
return new CancelOrderResponse(
|
||||
order.getId(),
|
||||
order.getStatus(),
|
||||
order.getCancelledAt(),
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
private OrderItemResponse toItemResponse(OrderItem item) {
|
||||
return new OrderItemResponse(
|
||||
item.getProduct().getId(),
|
||||
item.getProductName(),
|
||||
item.getQuantity(),
|
||||
item.getUnitPrice(),
|
||||
item.getLineTotal()
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user