java.lang.Object
com.broadleafcommerce.recommendationengine.service.messaging.PurchaseEventListener

@DataRouteByKey("recommendationEngine") public class PurchaseEventListener extends Object
  • Constructor Details

    • PurchaseEventListener

      public PurchaseEventListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentMessageService, OrderProvider orderProvider, PurchaseService<Purchase> purchaseService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
  • Method Details

    • listen

      @StreamListener("recommendationEnginePurchaseEventInput") public void listen(org.springframework.messaging.Message<PurchaseEvent> message)
    • processEvent

      public void processEvent(@NonNull @NonNull org.springframework.messaging.Message<PurchaseEvent> message)
    • buildPurchaseInfoFromOrder

      protected Purchase buildPurchaseInfoFromOrder(com.broadleafcommerce.order.client.domain.Order order, List<com.broadleafcommerce.order.client.domain.OrderFulfillment> fulfillments, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • buildPurchaseItems

      protected List<PurchaseItem> buildPurchaseItems(com.broadleafcommerce.order.client.domain.Order order, List<com.broadleafcommerce.order.client.domain.OrderFulfillment> fulfillments, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getOrder

      protected com.broadleafcommerce.order.client.domain.Order getOrder(PurchaseEvent event)
    • getReadOrderLink

      @Nullable protected OrderLink getReadOrderLink(PurchaseEvent event)
    • readOrderByLink

      protected com.broadleafcommerce.order.client.domain.Order readOrderByLink(OrderLink readOrderLink, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getFulfillments

      protected List<com.broadleafcommerce.order.client.domain.OrderFulfillment> getFulfillments(PurchaseEvent event)
    • getReadOrderFulfillmentLink

      @Nullable protected OrderLink getReadOrderFulfillmentLink(PurchaseEvent event)
    • getOrderFulfillments

      protected List<com.broadleafcommerce.order.client.domain.OrderFulfillment> getOrderFulfillments(OrderLink readOrderFulfillmentLink, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • buildContextInfo

      protected com.broadleafcommerce.data.tracking.core.context.ContextInfo buildContextInfo(@NonNull @NonNull PurchaseEvent event, com.broadleafcommerce.order.client.domain.Order order)
      Builds a ContextInfo for the persistence event related to the entity. Uses the one on the event if present.
      Parameters:
      event - The deserialized event.
      Returns:
      A ContextInfo for the persistence event related to the entity.
    • getIdempotentMessageService

      protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService getIdempotentMessageService()
    • getOrderProvider

      protected OrderProvider getOrderProvider()
    • getPurchaseService

      protected PurchaseService<Purchase> getPurchaseService()
    • getTypeFactory

      protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()