Class CartLimitedPriceAvailabilityCheckoutActivity

java.lang.Object
com.broadleafcommerce.cartoperation.service.checkout.workflow.activity.CartLimitedPriceAvailabilityCheckoutActivity
All Implemented Interfaces:
CheckoutWorkflowActivity

public class CartLimitedPriceAvailabilityCheckoutActivity extends Object implements CheckoutWorkflowActivity
This CheckoutWorkflowActivity is responsible for recording the quantity usage for prices that have limited quantity available for pricing events such as a flash sale.

Author:
Sunny Yu
See Also:
  • PriceInfo.getAvailableQuantity()
  • Constructor Details

    • CartLimitedPriceAvailabilityCheckoutActivity

      public CartLimitedPriceAvailabilityCheckoutActivity(org.springframework.context.MessageSource messageSource, PricingProvider pricingProvider, CartOperationService cartOperationService, CartItemPricingUtils cartItemPricingUtils, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
  • Method Details

    • execute

      public CheckoutProcessDto execute(@NonNull @NonNull CheckoutProcessDto processDto, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CheckoutWorkflowActivity
      Method responsible for executing some work against the cart that is required for checkout. This may include, but is not limited to, cart validation checks, inventory reservations, or payment authorizations.
      Specified by:
      execute in interface CheckoutWorkflowActivity
      Parameters:
      processDto - The CheckoutProcessDto that we're attempting to checkout with.
      contextInfo - Context information around sandbox and multitenant state.
      Returns:
      The final state of the CheckoutProcessDto following the execution of the activity.
    • rollback

      public CheckoutProcessDto rollback(@NonNull @NonNull CheckoutProcessDto processDto, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CheckoutWorkflowActivity
      Method responsible for rolling back any work that was done during the execution of the CheckoutWorkflowActivity.execute(CheckoutProcessDto, ContextInfo) method.
      Specified by:
      rollback in interface CheckoutWorkflowActivity
      Parameters:
      processDto - The CheckoutProcessDto that we were attempting to checkout with, but ran into an exception/error.
      contextInfo - Context information around sandbox and multitenant state.
      Returns:
      The final state of the CheckoutProcessDto following the rollback of the activity.
    • buildRecordPriceDataUsageRequest

      protected com.broadleafcommerce.pricing.client.domain.usage.RecordPriceDataUsageRequest buildRecordPriceDataUsageRequest(@NonNull @NonNull CheckoutProcessDto processDto, @NonNull @NonNull List<com.broadleafcommerce.cart.client.domain.CartItem> itemsUsingLimitedPrice)
    • buildPriceDataUsage

      protected com.broadleafcommerce.pricing.client.domain.usage.PriceDataUsage buildPriceDataUsage(@NonNull @NonNull CheckoutProcessDto processDto, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem)
    • getMessageSource

      protected org.springframework.context.MessageSource getMessageSource()
    • getPricingProvider

      protected PricingProvider getPricingProvider()
    • getCartOperationService

      protected CartOperationService getCartOperationService()
    • getCartItemPricingUtils

      protected CartItemPricingUtils getCartItemPricingUtils()
    • getTypeFactory

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