Class DefaultSubscriptionPricingService
java.lang.Object
com.broadleafcommerce.cartoperation.service.pricing.DefaultSubscriptionPricingService
- All Implemented Interfaces:
SubscriptionPricingService
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultSubscriptionPricingService(SubscriptionOpsProvider subscriptionOpsProvider, CartSubscriptionUtils cartSubscriptionUtils, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidapplySubscriptionPriceResponse(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull SubscriptionPriceResponse subscriptionPriceResponse, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected javax.money.MonetaryAmountcalculateRoughDueNowUnitPrice(@NonNull SubscriptionItemPriceDetail dueNowItemDetail) protected com.broadleafcommerce.cart.client.domain.CartItemfindCartItemById(com.broadleafcommerce.cart.client.domain.CartItem cartItem, String cartItemId) protected CartSubscriptionUtilsprotected SubscriptionOpsProviderprotected com.broadleafcommerce.common.extension.TypeFactoryprotected voidpopulateDueNowDetails(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull SubscriptionPriceResponse subscriptionPriceResponse) protected voidpopulateDueNowDetailsForCartItems(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull SubscriptionPriceResponse subscriptionPriceResponse) protected voidpopulatePreAndPostActionSubtotalDetails(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull SubscriptionPriceResponse subscriptionPriceResponse) protected voidpopulatePreAndPostActionSubtotalDetailsForCartItems(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull SubscriptionPriceResponse subscriptionPriceResponse) protected voidpopulatePreAndPostActionSubtotalDetailsForRemovedItems(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull SubscriptionPriceResponse subscriptionPriceResponse) com.broadleafcommerce.cart.client.domain.CartpriceSubscriptionItems(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) After having gathered/applied all PriceList & Offer-based pricing considerations, consult SubscriptionOperationServices to determine how to apply these prices relative to recurring billing.
-
Constructor Details
-
DefaultSubscriptionPricingService
public DefaultSubscriptionPricingService(SubscriptionOpsProvider subscriptionOpsProvider, CartSubscriptionUtils cartSubscriptionUtils, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Details
-
priceSubscriptionItems
public com.broadleafcommerce.cart.client.domain.Cart priceSubscriptionItems(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:SubscriptionPricingServiceAfter having gathered/applied all PriceList & Offer-based pricing considerations, consult SubscriptionOperationServices to determine how to apply these prices relative to recurring billing. This is especially applicable for declaring charges that are due now vs in future billing cycles.- Specified by:
priceSubscriptionItemsin interfaceSubscriptionPricingService- Parameters:
cart- the cart whose subscription item prices are being evaluated & updatedcontextInfo- context surrounding sandboxing and multitenant state- Returns:
- the cart with updated subscription pricing
-
applySubscriptionPriceResponse
protected void applySubscriptionPriceResponse(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
populateDueNowDetails
protected void populateDueNowDetails(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse) -
populateDueNowDetailsForCartItems
protected void populateDueNowDetailsForCartItems(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse) -
calculateRoughDueNowUnitPrice
protected javax.money.MonetaryAmount calculateRoughDueNowUnitPrice(@NonNull @NonNull SubscriptionItemPriceDetail dueNowItemDetail) -
populatePreAndPostActionSubtotalDetails
protected void populatePreAndPostActionSubtotalDetails(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse) -
populatePreAndPostActionSubtotalDetailsForCartItems
protected void populatePreAndPostActionSubtotalDetailsForCartItems(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse) -
populatePreAndPostActionSubtotalDetailsForRemovedItems
protected void populatePreAndPostActionSubtotalDetailsForRemovedItems(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse) -
findCartItemById
@Nullable protected com.broadleafcommerce.cart.client.domain.CartItem findCartItemById(com.broadleafcommerce.cart.client.domain.CartItem cartItem, String cartItemId) -
getSubscriptionOpsProvider
-
getCartSubscriptionUtils
-
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
-