Class DefaultOfferApplicationService
- java.lang.Object
-
- com.broadleafcommerce.promotion.offer.service.engine.application.DefaultOfferApplicationService
-
- All Implemented Interfaces:
OfferApplicationService
public class DefaultOfferApplicationService extends Object implements OfferApplicationService
- Author:
- Chad Harchar (charchar), Brian Polster (bpolster)
-
-
Constructor Summary
Constructors Constructor Description DefaultOfferApplicationService(ItemOfferProcessor orderLineItemOfferProcessor, ItemOfferProcessor fulfillmentLineItemOfferProcessor, OrderOfferProcessor orderOfferProcessor, FulfillmentGroupOfferProcessor fulfillmentGroupOfferProcessor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EnhancedOrderapplyAdjustments(OfferProcessingContext context)Applies the adjustments to the EnhancedOrder and returns the order with adjustments applied and totals updated.protected voidapplyFulfillmentGroupAdjustments(OfferProcessingContext context)protected voidapplyFulfillmentItemAdjustments(OfferProcessingContext context)protected voidapplyItemAdjustments(OfferProcessingContext context)protected voidapplyOfferAdjustments(OfferProcessingContext context)protected voidprepareForItemOfferProcessing(OfferProcessingContext context)Before scoring item offer permutations, it is helpful to prepare the list of offers by calculating potential savings, sorting, and enforcing in order max-uses rules.voidprocessOfferPermutations(OfferProcessingContext context)Calculates the value of each offer permutation and determines the best combination of all offer types.protected voidscoreFulfillmentGroupOfferPermutations(OfferProcessingContext context, CombinedTypesOfferPermutation combinedTypesOfferPermutation)protected voidscoreFulfillmentItemOfferPermutations(OfferProcessingContext context, CombinedTypesOfferPermutation combinedTypesOfferPermutation)protected voidscoreItemOfferPermutations(OfferProcessingContext context, CombinedTypesOfferPermutation combinedTypesOfferPermutation)protected voidscoreOrderOfferPermutations(OfferProcessingContext context, CombinedTypesOfferPermutation combinedTypesOfferPermutation)
-
-
-
Constructor Detail
-
DefaultOfferApplicationService
public DefaultOfferApplicationService(ItemOfferProcessor orderLineItemOfferProcessor, ItemOfferProcessor fulfillmentLineItemOfferProcessor, OrderOfferProcessor orderOfferProcessor, FulfillmentGroupOfferProcessor fulfillmentGroupOfferProcessor)
-
-
Method Detail
-
processOfferPermutations
public void processOfferPermutations(OfferProcessingContext context)
Description copied from interface:OfferApplicationServiceCalculates the value of each offer permutation and determines the best combination of all offer types. Updates theOfferProcessingContext.setBestOfferPermutation(com.broadleafcommerce.promotion.offer.service.dto.CombinedTypesOfferPermutation)with the results of the offers to apply.- Specified by:
processOfferPermutationsin interfaceOfferApplicationService
-
prepareForItemOfferProcessing
protected void prepareForItemOfferProcessing(OfferProcessingContext context)
Before scoring item offer permutations, it is helpful to prepare the list of offers by calculating potential savings, sorting, and enforcing in order max-uses rules.- Parameters:
context-
-
scoreItemOfferPermutations
protected void scoreItemOfferPermutations(OfferProcessingContext context, CombinedTypesOfferPermutation combinedTypesOfferPermutation)
-
scoreOrderOfferPermutations
protected void scoreOrderOfferPermutations(OfferProcessingContext context, CombinedTypesOfferPermutation combinedTypesOfferPermutation)
-
scoreFulfillmentItemOfferPermutations
protected void scoreFulfillmentItemOfferPermutations(OfferProcessingContext context, CombinedTypesOfferPermutation combinedTypesOfferPermutation)
-
scoreFulfillmentGroupOfferPermutations
protected void scoreFulfillmentGroupOfferPermutations(OfferProcessingContext context, CombinedTypesOfferPermutation combinedTypesOfferPermutation)
-
applyAdjustments
public EnhancedOrder applyAdjustments(OfferProcessingContext context)
Description copied from interface:OfferApplicationServiceApplies the adjustments to the EnhancedOrder and returns the order with adjustments applied and totals updated.- Specified by:
applyAdjustmentsin interfaceOfferApplicationService- Parameters:
context- Context containing the adjustments that were computed in the previously calledOfferApplicationService.processOfferPermutations(OfferProcessingContext)method.- Returns:
- The order with its adjustments and totals updated
-
applyItemAdjustments
protected void applyItemAdjustments(OfferProcessingContext context)
-
applyOfferAdjustments
protected void applyOfferAdjustments(OfferProcessingContext context)
-
applyFulfillmentItemAdjustments
protected void applyFulfillmentItemAdjustments(OfferProcessingContext context)
-
applyFulfillmentGroupAdjustments
protected void applyFulfillmentGroupAdjustments(OfferProcessingContext context)
-
-