diff --git a/order-service/order-data-access/src/main/java/com/food/order/system/data/access/order/mapper/OrderDataAccessMapper.java b/order-service/order-data-access/src/main/java/com/food/order/system/data/access/order/mapper/OrderDataAccessMapper.java index 8e6a7b6..d043016 100644 --- a/order-service/order-data-access/src/main/java/com/food/order/system/data/access/order/mapper/OrderDataAccessMapper.java +++ b/order-service/order-data-access/src/main/java/com/food/order/system/data/access/order/mapper/OrderDataAccessMapper.java @@ -13,7 +13,9 @@ import com.food.order.sysyem.valueobject.*; import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Objects; import static com.food.order.system.domain.entity.Order.FAILURE_MESSAGE_DELIMITER; @@ -30,7 +32,7 @@ public class OrderDataAccessMapper { orderEntity.setAddress(deliveryAddressToAddressEntity(order.getDeliveryAddress())); orderEntity.setPrice(order.getPrice().getAmount()); orderEntity.setItems(orderItemsToOrderItemsEntity(order.getItems())); - orderEntity.setFailureMessages(order.getFailureMessages() != null ? + orderEntity.setFailureMessages(Objects.nonNull(order.getFailureMessages()) ? String.join(FAILURE_MESSAGE_DELIMITER, order.getFailureMessages()) : ""); orderEntity.getAddress().setOrder(orderEntity); orderEntity.getItems().forEach(item -> item.setOrderEntity(orderEntity)); @@ -47,9 +49,9 @@ public class OrderDataAccessMapper { .items(orderItemsEntityToOrderItems(orderEntity.getItems())) .trackingId(new TrackingId(orderEntity.getTrackingId())) .status(orderEntity.getOrderStatus()) - .failureMessages(orderEntity.getFailureMessages() != null ? - List.of(orderEntity.getFailureMessages().split(FAILURE_MESSAGE_DELIMITER)) : - new ArrayList<>()) + .failureMessages(Objects.isNull(orderEntity.getFailureMessages()) ? new ArrayList<>() : + new ArrayList<>(Arrays.asList(orderEntity.getFailureMessages() + .split(FAILURE_MESSAGE_DELIMITER)))) .build(); } diff --git a/order-service/order-domain/order-core-domain/src/main/java/com/food/order/system/domain/entity/Order.java b/order-service/order-domain/order-core-domain/src/main/java/com/food/order/system/domain/entity/Order.java index 08cf7a2..c9fc1ce 100644 --- a/order-service/order-domain/order-core-domain/src/main/java/com/food/order/system/domain/entity/Order.java +++ b/order-service/order-domain/order-core-domain/src/main/java/com/food/order/system/domain/entity/Order.java @@ -53,7 +53,7 @@ public class Order extends AggregateRoot { } public void cancel(List failureMessages){ - if(Objects.equals(status, OrderStatus.CANCELLING) || Objects.equals(status, OrderStatus.PENDING)) + if(!(Objects.equals(status, OrderStatus.CANCELLING) || Objects.equals(status, OrderStatus.PENDING))) throw new OrderDomainException("Order status is not correct for cancel operation !"); status = OrderStatus.CANCELLED; updateFailureMessages(failureMessages); diff --git a/order-service/order-domain/order-core-domain/src/main/java/com/food/order/system/domain/service/impl/OrderDomainServiceImpl.java b/order-service/order-domain/order-core-domain/src/main/java/com/food/order/system/domain/service/impl/OrderDomainServiceImpl.java index 418d245..1fb74f2 100644 --- a/order-service/order-domain/order-core-domain/src/main/java/com/food/order/system/domain/service/impl/OrderDomainServiceImpl.java +++ b/order-service/order-domain/order-core-domain/src/main/java/com/food/order/system/domain/service/impl/OrderDomainServiceImpl.java @@ -35,7 +35,8 @@ public class OrderDomainServiceImpl implements OrderDomainService { .forEach(orderItem -> restaurant.getProducts().forEach(restaurantProduct -> { var currentProduct = orderItem.getProduct(); if(currentProduct.equals(restaurantProduct)){ - currentProduct.updateWithConfirmedNameAndPrice(restaurantProduct.getName(),restaurantProduct.getPrice()); + currentProduct.updateWithConfirmedNameAndPrice(restaurantProduct.getName(), + restaurantProduct.getPrice()); } })); } diff --git a/restaurant-service/restaurant-container/src/main/resources/init-schema.sql b/restaurant-service/restaurant-container/src/main/resources/init-schema.sql index 542e1ca..8f47d26 100644 --- a/restaurant-service/restaurant-container/src/main/resources/init-schema.sql +++ b/restaurant-service/restaurant-container/src/main/resources/init-schema.sql @@ -75,8 +75,7 @@ AS p.id AS product_id, p.name AS product_name, p.price AS product_price, - p.available AS product_available, - r.active AS product_active + p.available AS product_active FROM restaurant.restaurants r, restaurant.products p, restaurant.restaurant_products rp