Class CheckoutCompletionListener
- java.lang.Object
-
- com.broadleafcommerce.orderoperation.service.messaging.checkout.CheckoutCompletionListener
-
public class CheckoutCompletionListener extends Object
An event listener that triggers when checkout successfully completes. Responsible for creating theOrder
based on the submittedCart
.
-
-
Constructor Summary
Constructors Constructor Description CheckoutCompletionListener(com.broadleafcommerce.common.extension.TypeFactory typeFactory, CartOrderGenerationService<com.broadleafcommerce.cart.client.domain.Cart,com.broadleafcommerce.order.client.domain.Order> cartOrderGenerationService, CartOrderFulfillmentGenerationService<com.broadleafcommerce.cart.client.domain.Cart,com.broadleafcommerce.order.client.domain.Order,com.broadleafcommerce.order.client.domain.OrderFulfillment> cartOrderFulfillmentGenerationService, com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentConsumptionService, OrderCreatedProducer orderCreatedProducer, CartProvider cartProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CartOrderFulfillmentGenerationService<com.broadleafcommerce.cart.client.domain.Cart,com.broadleafcommerce.order.client.domain.Order,com.broadleafcommerce.order.client.domain.OrderFulfillment>
getCartOrderFulfillmentGenerationService()
protected CartOrderGenerationService<com.broadleafcommerce.cart.client.domain.Cart,com.broadleafcommerce.order.client.domain.Order>
getCartOrderGenerationService()
protected CartProvider
getCartProvider()
protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService
getIdempotentConsumptionService()
protected OrderCreatedProducer
getOrderCreatedProducer()
protected com.broadleafcommerce.common.extension.TypeFactory
getTypeFactory()
void
listen(org.springframework.messaging.Message<CheckoutCompletionEvent> message)
Event listener entry point.protected com.broadleafcommerce.cart.client.domain.Cart
populateActualCart(CheckoutCompletionEvent event)
protected void
populateCartItems(com.broadleafcommerce.cart.client.domain.Cart cart, CheckoutCompletionEvent event)
protected void
populateFulfillmentGroups(com.broadleafcommerce.cart.client.domain.Cart cart, CheckoutCompletionEvent event)
protected void
populateIncludedTax(com.broadleafcommerce.cart.client.domain.Cart cart)
protected void
process(@NonNull CheckoutCompletionEvent event)
Processes the received message by generating anOrder
andOrderFulfillments
.protected void
processMessage(org.springframework.messaging.Message<CheckoutCompletionEvent> message)
protected void
sendOrderCreatedMessage(com.broadleafcommerce.order.client.domain.Order order, List<com.broadleafcommerce.order.client.domain.OrderFulfillment> fulfillments, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
protected boolean
shouldProcessEvent(CheckoutCompletionEvent event)
-
-
-
Field Detail
-
SUBMITTED
public static final String SUBMITTED
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CheckoutCompletionListener
public CheckoutCompletionListener(com.broadleafcommerce.common.extension.TypeFactory typeFactory, CartOrderGenerationService<com.broadleafcommerce.cart.client.domain.Cart,com.broadleafcommerce.order.client.domain.Order> cartOrderGenerationService, CartOrderFulfillmentGenerationService<com.broadleafcommerce.cart.client.domain.Cart,com.broadleafcommerce.order.client.domain.Order,com.broadleafcommerce.order.client.domain.OrderFulfillment> cartOrderFulfillmentGenerationService, com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentConsumptionService, OrderCreatedProducer orderCreatedProducer, CartProvider cartProvider)
-
-
Method Detail
-
listen
@StreamListener("checkoutCompletionInputOrder") public void listen(org.springframework.messaging.Message<CheckoutCompletionEvent> message)
Event listener entry point. Checks if the message has already been received and, if not, begins processing it.- Parameters:
message
- the message payload event
-
processMessage
protected void processMessage(org.springframework.messaging.Message<CheckoutCompletionEvent> message)
-
shouldProcessEvent
protected boolean shouldProcessEvent(CheckoutCompletionEvent event)
-
process
protected void process(@NonNull @NonNull CheckoutCompletionEvent event)
Processes the received message by generating anOrder
andOrderFulfillments
.- Parameters:
event
- the message payload event
-
populateActualCart
protected com.broadleafcommerce.cart.client.domain.Cart populateActualCart(CheckoutCompletionEvent event)
-
populateIncludedTax
protected void populateIncludedTax(com.broadleafcommerce.cart.client.domain.Cart cart)
-
populateCartItems
protected void populateCartItems(com.broadleafcommerce.cart.client.domain.Cart cart, CheckoutCompletionEvent event)
-
populateFulfillmentGroups
protected void populateFulfillmentGroups(com.broadleafcommerce.cart.client.domain.Cart cart, CheckoutCompletionEvent event)
-
sendOrderCreatedMessage
protected void sendOrderCreatedMessage(com.broadleafcommerce.order.client.domain.Order order, List<com.broadleafcommerce.order.client.domain.OrderFulfillment> fulfillments, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
-
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
-
getCartOrderGenerationService
protected CartOrderGenerationService<com.broadleafcommerce.cart.client.domain.Cart,com.broadleafcommerce.order.client.domain.Order> getCartOrderGenerationService()
-
getCartOrderFulfillmentGenerationService
protected CartOrderFulfillmentGenerationService<com.broadleafcommerce.cart.client.domain.Cart,com.broadleafcommerce.order.client.domain.Order,com.broadleafcommerce.order.client.domain.OrderFulfillment> getCartOrderFulfillmentGenerationService()
-
getIdempotentConsumptionService
protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService getIdempotentConsumptionService()
-
getOrderCreatedProducer
protected OrderCreatedProducer getOrderCreatedProducer()
-
getCartProvider
protected CartProvider getCartProvider()
-
-