public OrderRst establishOrder()

in sources/coffeeshop/orders-application/src/main/java/solid/humank/coffeeshop/order/applications/CreateOrderSvc.java [55:70]


    public OrderRst establishOrder(CreateOrderMsg request) throws AggregateException {

        OrderId id = this.repository.generateOrderId();
        List<OrderItem> items = translator.translate(request.getItems());

        CreateOrder cmd = new CreateOrder(id, request.getTableNo(), OrderStatus.INITIAL, items);
        Order createdOrder = Order.create(cmd);

        logger.info(new DomainModelMapper().writeToJsonString(createdOrder));

        this.repository.save(createdOrder);

        domainEventPublisher.publish(createdOrder.getDomainEvents());

        return new OrderRst(createdOrder);
    }