Class CartStalePricingValidationActivity

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

public class CartStalePricingValidationActivity extends Object implements CheckoutWorkflowActivity
This CheckoutWorkflowActivity is responsible for validating that the Cart and its CartItems have the actual (latest) prices.

Author:
Dima Myroniuk (dmyroniuk)
  • Constructor Details

  • 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.
    • validateCartHasLatestPricing

      protected CheckoutProcessDto validateCartHasLatestPricing(@NonNull @NonNull CheckoutProcessDto processDto, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • lastCatalogRepriceIsStale

      protected boolean lastCatalogRepriceIsStale(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart)
      Determines if the period between now and the cart's last catalog reprice has exceeded the time-to-live defined in CartOperationServiceProperties.getCartPricingTimeToLive().
      Parameters:
      cart - the Cart to check against
      Returns:
      true if the cart's last catalog reprice is stale, otherwise false
    • determineOldCartPrice

      protected javax.money.MonetaryAmount determineOldCartPrice(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart)
    • determineCartWithLatestPrices

      @Nullable protected com.broadleafcommerce.cart.client.domain.Cart determineCartWithLatestPrices(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • latestPriceIsHigher

      protected boolean latestPriceIsHigher(@NonNull @NonNull javax.money.MonetaryAmount latestCartPrice, @NonNull @NonNull javax.money.MonetaryAmount oldCartPrice)
    • latestPriceIsLower

      protected boolean latestPriceIsLower(@NonNull @NonNull javax.money.MonetaryAmount latestCartPrice, @NonNull @NonNull javax.money.MonetaryAmount oldCartPrice)
    • getFailureMessage

      protected String getFailureMessage(@NonNull @NonNull DefaultCheckoutFailureTypes checkoutFailureTypes)
    • getPricingChangeMessage

      protected String getPricingChangeMessage(@NonNull @NonNull javax.money.MonetaryAmount oldCartPrice, @NonNull @NonNull javax.money.MonetaryAmount latestCartPrice)
    • createCartAlert

      protected com.broadleafcommerce.cart.client.domain.CartAlert createCartAlert(@NonNull @NonNull String message)
    • getMessageSource

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

      protected CartProvider getCartProvider()
    • getCartOperationService

      protected CartOperationService getCartOperationService()
    • setCartOperationService

      @Autowired public void setCartOperationService(CartOperationService cartOperationService)
    • getProperties

    • getStaleCartPricingResultHolder

      protected StaleCartPricingResultHolder getStaleCartPricingResultHolder()
    • getCartPricingService

      @Deprecated protected CartPricingService getCartPricingService()
      Deprecated.
      since 1.6, use getCartOperationService() instead.
    • getTypeFactory

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

      @Autowired public void setTypeFactory(com.broadleafcommerce.common.extension.TypeFactory typeFactory)
    • getCartOperationServiceProperties

      protected CartOperationServiceProperties getCartOperationServiceProperties()
    • setCartOperationServiceProperties

      @Autowired public void setCartOperationServiceProperties(CartOperationServiceProperties cartOperationServiceProperties)