Class CartStalePricingValidationActivity

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

public class CartStalePricingValidationActivity extends Object implements RequiresSecurePaymentInformationActivity
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, @NonNull @NonNull Map<String,String> securityCodes, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: RequiresSecurePaymentInformationActivity
      Method responsible for executing some work against the cart that requires secure payment information in checkout.
      Specified by:
      execute in interface RequiresSecurePaymentInformationActivity
      Parameters:
      processDto - The CheckoutProcessDto that we're attempting to checkout with.
      securityCodes - Secure codes that are passed to the gateway for verification during authorization or capture transactions.
      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)