| Package | Description |
|---|---|
| org.broadleafcommerce.core.offer.service | |
| org.broadleafcommerce.core.offer.service.discount.domain | |
| org.broadleafcommerce.core.offer.service.processor |
| Modifier and Type | Method and Description |
|---|---|
ExtensionResultStatusType |
AbstractOfferServiceExtensionHandler.applyItemOffer(PromotableOrder order,
PromotableCandidateItemOffer itemOffer,
Map<String,Object> contextMap) |
ExtensionResultStatusType |
OfferServiceExtensionHandler.applyItemOffer(PromotableOrder order,
PromotableCandidateItemOffer itemOffer,
Map<String,Object> contextMap)
Modules may need to extend the applyItemOffer logic
For example, a subscription module might creates future payment adjustments.
|
Map<OrderItem,PromotableOrderItem> |
OfferServiceUtilities.buildPromotableItemMap(PromotableOrder promotableOrder)
Builds a map from orderItem to promotableOrderItem.
|
Map<OrderItem,PromotableOrderItem> |
OfferServiceUtilitiesImpl.buildPromotableItemMap(PromotableOrder promotableOrder) |
ExtensionResultStatusType |
AbstractOfferServiceExtensionHandler.chooseSaleOrRetailAdjustments(PromotableOrder order) |
ExtensionResultStatusType |
OfferServiceExtensionHandler.chooseSaleOrRetailAdjustments(PromotableOrder order)
Allows a module to finalize adjustments.
|
int |
OfferServiceUtilities.markRelatedQualifiersAndTargetsForItemCriteria(PromotableCandidateItemOffer itemOffer,
PromotableOrder order,
OrderItemHolder orderItemHolder,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails,
ItemOfferMarkTargets itemOfferMarkTargets)
Returns the number of targets marked for the passed in itemCriteria
|
int |
OfferServiceUtilitiesImpl.markRelatedQualifiersAndTargetsForItemCriteria(PromotableCandidateItemOffer itemOffer,
PromotableOrder order,
OrderItemHolder orderItemHolder,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails,
ItemOfferMarkTargets itemOfferMarkTargets) |
ExtensionResultStatusType |
AbstractOfferServiceExtensionHandler.synchronizeAdjustmentsAndPrices(PromotableOrder order) |
ExtensionResultStatusType |
OfferServiceExtensionHandler.synchronizeAdjustmentsAndPrices(PromotableOrder order)
Allows a module to amend the data that synchronizes the
PromotableOrder with the Order |
| Modifier and Type | Class and Description |
|---|---|
class |
PromotableOrderImpl |
| Modifier and Type | Field and Description |
|---|---|
protected PromotableOrder |
PromotableFulfillmentGroupImpl.promotableOrder |
protected PromotableOrder |
PromotableOrderAdjustmentImpl.promotableOrder |
protected PromotableOrder |
PromotableCandidateItemOfferImpl.promotableOrder |
protected PromotableOrder |
PromotableOrderItemImpl.promotableOrder |
protected PromotableOrder |
PromotableCandidateOrderOfferImpl.promotableOrder |
| Modifier and Type | Method and Description |
|---|---|
PromotableOrder |
PromotableItemFactory.createPromotableOrder(Order order,
boolean includeOrderAndItemAdjustments) |
PromotableOrder |
PromotableItemFactoryImpl.createPromotableOrder(Order order,
boolean includeOrderAndItemAdjustments) |
PromotableOrder |
PromotableOrderAdjustmentImpl.getPromotableOrder() |
PromotableOrder |
PromotableOrderAdjustment.getPromotableOrder()
Returns the associated promotableOrder
|
PromotableOrder |
PromotableCandidateOrderOffer.getPromotableOrder() |
PromotableOrder |
PromotableCandidateOrderOfferImpl.getPromotableOrder() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
ItemOfferProcessorImpl.applyAdjustments(PromotableOrder order,
PromotableCandidateItemOffer itemOffer)
The itemOffer has been qualified and prior methods added PromotionDiscount objects onto the ItemPriceDetail.
|
boolean |
FulfillmentGroupOfferProcessor.applyAllFulfillmentGroupOffers(List<PromotableCandidateFulfillmentGroupOffer> qualifiedFGOffers,
PromotableOrder order)
Private method that takes a list of sorted CandidateOrderOffers and determines if each offer can be
applied based on the restrictions (stackable and/or combinable) on that offer.
|
boolean |
FulfillmentGroupOfferProcessorImpl.applyAllFulfillmentGroupOffers(List<PromotableCandidateFulfillmentGroupOffer> qualifiedFGOffers,
PromotableOrder order) |
void |
ItemOfferProcessorImpl.applyAllItemOffers(List<PromotableCandidateItemOffer> itemOffers,
PromotableOrder order) |
void |
ItemOfferProcessor.applyAllItemOffers(List<PromotableCandidateItemOffer> itemOffers,
PromotableOrder order)
Private method that takes a list of sorted CandidateItemOffers and determines if each offer can be
applied based on the restrictions (stackable and/or combinable) on that offer.
|
void |
OrderOfferProcessor.applyAllOrderOffers(List<PromotableCandidateOrderOffer> orderOffers,
PromotableOrder promotableOrder)
Takes a list of sorted CandidateOrderOffers and determines if each offer can be
applied based on the restrictions (stackable and/or combinable) on that offer.
|
void |
OrderOfferProcessorImpl.applyAllOrderOffers(List<PromotableCandidateOrderOffer> orderOffers,
PromotableOrder promotableOrder) |
void |
ItemOfferProcessorImpl.applyAndCompareOrderAndItemOffers(PromotableOrder order,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
List<PromotableCandidateItemOffer> qualifiedItemOffers) |
void |
ItemOfferProcessor.applyAndCompareOrderAndItemOffers(PromotableOrder order,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
List<PromotableCandidateItemOffer> qualifiedItemOffers) |
protected void |
ItemOfferProcessorImpl.applyItemOffer(PromotableOrder order,
PromotableCandidateItemOffer itemOffer) |
protected Boolean |
ItemOfferProcessorImpl.applyItemOfferExtension(PromotableOrder order,
PromotableCandidateItemOffer itemOffer)
Call out to extension managers.
|
protected void |
ItemOfferProcessorImpl.applyItemQualifiersAndTargets(PromotableCandidateItemOffer itemOffer,
PromotableOrder order) |
protected void |
ItemOfferProcessorImpl.applyLegacyAdjustments(PromotableOrder order,
PromotableCandidateItemOffer itemOffer)
Legacy adjustments use the stackable flag instead of item qualifiers and targets
|
protected void |
OrderOfferProcessorImpl.applyOrderOffer(PromotableOrder promotableOrder,
PromotableCandidateOrderOffer orderOffer)
Private method used by applyAllOrderOffers to create an OrderAdjustment from a CandidateOrderOffer
and associates the OrderAdjustment to the Order.
|
protected Map<Long,PromotableFulfillmentGroup> |
OrderOfferProcessorImpl.buildPromotableFulfillmentGroupMap(PromotableOrder order) |
protected Map<Long,PromotableOrderAdjustment> |
OrderOfferProcessorImpl.buildPromotableOrderAdjustmentsMap(PromotableOrder promotableOrder) |
void |
FulfillmentGroupOfferProcessor.calculateFulfillmentGroupTotal(PromotableOrder order) |
void |
FulfillmentGroupOfferProcessorImpl.calculateFulfillmentGroupTotal(PromotableOrder order) |
protected void |
ItemOfferProcessorImpl.calculatePotentialSavings(List<PromotableCandidateItemOffer> itemOffers,
PromotableOrder order)
This method determines the potential savings for each item offer as if it was the only item offer being applied.
|
protected void |
ItemOfferProcessorImpl.chooseSaleOrRetailAdjustments(PromotableOrder order)
Some promotions can only apply to the retail price.
|
protected boolean |
FulfillmentGroupOfferProcessorImpl.compareAndAdjustFulfillmentGroupOffers(PromotableOrder order,
boolean fgOfferApplied) |
protected void |
OrderOfferProcessorImpl.compareAndAdjustOrderAndItemOffers(PromotableOrder promotableOrder)
Called when the system must determine whether to apply order or item adjustments.
|
boolean |
OrderOfferProcessor.couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder)
Executes the appliesToOrderRules in the Offer to determine if this offer
can be applied to the Order, OrderItem, or FulfillmentGroup.
|
boolean |
OrderOfferProcessorImpl.couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder) |
protected boolean |
OrderOfferProcessorImpl.couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableFulfillmentGroup fulfillmentGroup)
Private method which executes the appliesToOrderRules in the Offer to determine if this offer
can be applied to the Order, OrderItem, or FulfillmentGroup.
|
protected boolean |
OrderOfferProcessorImpl.couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableOrderItem orderItem)
Private method which executes the appliesToOrderRules in the Offer to determine if this offer
can be applied to the Order, OrderItem, or FulfillmentGroup.
|
protected boolean |
OrderOfferProcessorImpl.couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableOrderItem promotableOrderItem,
PromotableFulfillmentGroup promotableFulfillmentGroup)
Private method which executes the appliesToOrderRules in the Offer to determine if this offer
can be applied to the Order, OrderItem, or FulfillmentGroup.
|
protected PromotableCandidateItemOffer |
ItemOfferProcessorImpl.createCandidateItemOffer(List<PromotableCandidateItemOffer> qualifiedItemOffers,
Offer offer,
PromotableOrder promotableOrder)
Create a candidate item offer based on the offer in question and a specific order item
|
protected PromotableCandidateOrderOffer |
OrderOfferProcessorImpl.createCandidateOrderOffer(PromotableOrder promotableOrder,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
Offer offer) |
protected void |
ItemOfferProcessorImpl.determineBestPermutation(List<PromotableCandidateItemOffer> itemOffers,
PromotableOrder order) |
void |
FulfillmentGroupOfferProcessor.filterFulfillmentGroupLevelOffer(PromotableOrder order,
List<PromotableCandidateFulfillmentGroupOffer> qualifiedFGOffers,
Offer offer) |
void |
FulfillmentGroupOfferProcessorImpl.filterFulfillmentGroupLevelOffer(PromotableOrder order,
List<PromotableCandidateFulfillmentGroupOffer> qualifiedFGOffers,
Offer offer) |
void |
ItemOfferProcessorImpl.filterItemLevelOffer(PromotableOrder order,
List<PromotableCandidateItemOffer> qualifiedItemOffers,
Offer offer) |
void |
ItemOfferProcessor.filterItemLevelOffer(PromotableOrder order,
List<PromotableCandidateItemOffer> qualifiedItemOffers,
Offer offer)
Review an item level offer against the list of discountable items from the order.
|
void |
ItemOfferProcessorImpl.filterOffers(PromotableOrder order,
List<Offer> filteredOffers,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
List<PromotableCandidateItemOffer> qualifiedItemOffers) |
void |
ItemOfferProcessor.filterOffers(PromotableOrder order,
List<Offer> filteredOffers,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
List<PromotableCandidateItemOffer> qualifiedItemOffers) |
void |
OrderOfferProcessor.filterOrderLevelOffer(PromotableOrder promotableOrder,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
Offer offer) |
void |
OrderOfferProcessorImpl.filterOrderLevelOffer(PromotableOrder promotableOrder,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
Offer offer) |
protected boolean |
ItemOfferProcessorImpl.isTotalitarianOfferAppliedToAnyItem(PromotableOrder order) |
protected boolean |
ItemOfferProcessorImpl.markQualifiers(PromotableCandidateItemOffer itemOffer,
PromotableOrder order)
Loop through ItemCriteria and mark qualifiers required to give the promotion to 1 or more targets.
|
protected void |
ItemOfferProcessorImpl.markQualifiersAndTargets(PromotableOrder order,
PromotableCandidateItemOffer itemOffer) |
protected boolean |
ItemOfferProcessorImpl.markRelatedQualifiersAndTargets(PromotableCandidateItemOffer itemOffer,
PromotableOrder order)
When the
Offer.getRequiresRelatedTargetAndQualifiers() flag is set to true, we must make sure that we
identify qualifiers and targets together, as they must be related to each other based on the
OrderItem.getParentOrderItem() / OrderItem.getChildOrderItems() attributes. |
protected boolean |
ItemOfferProcessorImpl.markTargets(PromotableCandidateItemOffer itemOffer,
PromotableOrder order,
OrderItem relatedQualifier) |
boolean |
ItemOfferMarkTargets.markTargets(PromotableCandidateItemOffer itemOffer,
PromotableOrder order,
OrderItem relatedQualifier,
boolean checkOnly) |
boolean |
ItemOfferProcessorImpl.markTargets(PromotableCandidateItemOffer itemOffer,
PromotableOrder order,
OrderItem relatedQualifier,
boolean checkOnly)
Loop through ItemCriteria and mark targets that can get this promotion to give the promotion to 1 or more targets.
|
protected void |
ItemOfferProcessorImpl.mergePriceDetails(PromotableOrder order)
Checks to see if any priceDetails need to be combined and if so, combines them.
|
protected boolean |
ItemOfferProcessorImpl.offerMeetsSubtotalRequirements(PromotableOrder order,
PromotableCandidateItemOffer itemOffer) |
void |
OrderOfferProcessor.synchronizeAdjustmentsAndPrices(PromotableOrder promotableOrder)
Takes the adjustments and PriceDetails from the passed in PromotableOrder and transfers them to the
actual order first checking to see if they already exist.
|
void |
OrderOfferProcessorImpl.synchronizeAdjustmentsAndPrices(PromotableOrder promotableOrder) |
protected void |
OrderOfferProcessorImpl.synchronizeFulfillmentGroups(PromotableOrder promotableOrder) |
protected void |
OrderOfferProcessorImpl.synchronizeOrderAdjustments(PromotableOrder promotableOrder) |
protected void |
OrderOfferProcessorImpl.synchronizeOrderItems(PromotableOrder promotableOrder) |
Copyright © 2015. All Rights Reserved.