Class OrderSubmittedInventoryAdjustmentMessageListener


  • @DataRouteByKey("inventory")
    public class OrderSubmittedInventoryAdjustmentMessageListener
    extends AbstractInventoryAdjustmentListener
    Message Listener to listen for submitted orders, parse them, and create HARD_RESERVATION InventoryTransaction (i.e. HARD Reservations).
    Author:
    Kelly Tisdell (ktisdell), Nathan Moore (nathandmoore)
    • Constructor Detail

      • OrderSubmittedInventoryAdjustmentMessageListener

        public OrderSubmittedInventoryAdjustmentMessageListener​(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentMessageConsumptionService,
                                                                com.broadleafcommerce.common.extension.TypeFactory typeFactory,
                                                                SkuInventoryService<SkuInventory> skuInventoryService,
                                                                CartProvider cartProvider)
    • Method Detail

      • listen

        @StreamListener("checkoutCompletionInputInventory")
        public void listen​(org.springframework.messaging.Message<String> message)
      • processMessage

        public void processMessage​(@NonNull
                                   @NonNull org.springframework.messaging.Message<String> message)
        Processes the received message by extracting fields relevant for recording inventory adjustments.
        Parameters:
        message - The checkout completion message received with payload
      • buildSkuInventoryReservationRequest

        protected SkuInventoryReservationRequest buildSkuInventoryReservationRequest​(@NonNull
                                                                                     @NonNull com.jayway.jsonpath.DocumentContext jsonContext,
                                                                                     @NonNull
                                                                                     @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Builds the SkuInventoryReservationRequest based on the fulfillment info in the checkout completion message.
        Parameters:
        jsonContext - a DocumentContext representation of the checkout completion message payload
        contextInfo - Context information around sandbox and multitenant state.
        Returns:
        The SkuInventoryReservationRequest based on the fulfillment info in the checkout completion message.
      • getCartProvider

        protected CartProvider getCartProvider()