diff --git a/prototype/src/main/java/org/hso/ecommerce/action/shop/CreateOrderAction.java b/prototype/src/main/java/org/hso/ecommerce/action/shop/CreateOrderAction.java index 8ff31ce..854be3a 100644 --- a/prototype/src/main/java/org/hso/ecommerce/action/shop/CreateOrderAction.java +++ b/prototype/src/main/java/org/hso/ecommerce/action/shop/CreateOrderAction.java @@ -74,9 +74,15 @@ public class CreateOrderAction { CustomerPayment payment = createPayment(); List bookingList = new ArrayList<>(); - bookingList.add(new CreateBookingAction(latestUserBooking, latestMainBooking, new BookingReason(order), order.totalGrossCent).finish()); - bookingList.add(new CreateBookingAction(null, latestUserBooking, new BookingReason(payment), order.totalGrossCent).finish()); - bookingList.add(new CreateBookingAction(latestMainBooking, latestVatBooking, new BookingReason(order), order.totalVatCent).finish()); + Booking purchaseBooking = new CreateBookingAction( + latestUserBooking, latestMainBooking, new BookingReason(order), order.totalGrossCent).finish(); + Booking paymentBooking = new CreateBookingAction( + null, purchaseBooking.source /* userAccount */, new BookingReason(payment), order.totalGrossCent).finish(); + Booking vatBooking = new CreateBookingAction( + purchaseBooking.destination /* mainAccount */, latestVatBooking, new BookingReason(order), order.totalVatCent).finish(); + bookingList.add(purchaseBooking); + bookingList.add(paymentBooking); + bookingList.add(vatBooking); WarehouseBooking warehouseBooking = createWarehouseBooking(order);