| Modifier and Type | Method and Description |
|---|---|
protected boolean |
OfferServiceUtilitiesImpl.adjustmentIsNotGoodEnoughToBeApplied(PromotableCandidateItemOffer itemOffer,
PromotableOrderItemPriceDetail detail)
The adjustment might not be better than the sale price.
|
void |
OfferServiceUtilities.applyAdjustmentsForItemPriceDetails(PromotableCandidateItemOffer itemOffer,
List<PromotableOrderItemPriceDetail> itemPriceDetails)
Takes in a list of
PromotableOrderItemPriceDetails and applies adjustments for all of the
discounts that match the passed in offer. |
void |
OfferServiceUtilitiesImpl.applyAdjustmentsForItemPriceDetails(PromotableCandidateItemOffer itemOffer,
List<PromotableOrderItemPriceDetail> itemPriceDetails) |
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.
|
void |
OfferServiceUtilities.applyOrderItemAdjustment(PromotableCandidateItemOffer itemOffer,
PromotableOrderItemPriceDetail itemPriceDetail)
Used by applyAdjustments to create an OrderItemAdjustment from a CandidateOrderOffer
and associates the OrderItemAdjustment to the OrderItem.
|
void |
OfferServiceUtilitiesImpl.applyOrderItemAdjustment(PromotableCandidateItemOffer itemOffer,
PromotableOrderItemPriceDetail itemPriceDetail) |
ExtensionResultStatusType |
AbstractOfferServiceExtensionHandler.calculatePotentialSavings(PromotableCandidateItemOffer itemOffer,
PromotableOrderItem item,
int quantity,
Map<String,Object> contextMap) |
ExtensionResultStatusType |
OfferServiceExtensionHandler.calculatePotentialSavings(PromotableCandidateItemOffer itemOffer,
PromotableOrderItem item,
int quantity,
Map<String,Object> contextMap)
Modules may extend the calculatePotentialSavings method.
|
boolean |
OfferServiceUtilities.itemOfferCanBeApplied(PromotableCandidateItemOffer itemOffer,
List<PromotableOrderItemPriceDetail> details)
Return false if a totalitarian or non-combinable offer has already been applied or if this offer is
totalitarian or non-combinable and this order already has adjustments applied.
|
boolean |
OfferServiceUtilitiesImpl.itemOfferCanBeApplied(PromotableCandidateItemOffer itemOffer,
List<PromotableOrderItemPriceDetail> details) |
int |
OfferServiceUtilities.markQualifiersForCriteria(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails)
Returns the number of qualifiers marked for the passed in itemCriteria
|
int |
OfferServiceUtilitiesImpl.markQualifiersForCriteria(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails) |
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) |
int |
OfferServiceUtilities.markTargetsForCriteria(PromotableCandidateItemOffer itemOffer,
OrderItem relatedQualifier,
boolean checkOnly,
Offer promotion,
OrderItem relatedQualifierRoot,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails,
int targetQtyNeeded)
Returns the number of targets marked for the passed in itemCriteria
|
int |
OfferServiceUtilitiesImpl.markTargetsForCriteria(PromotableCandidateItemOffer itemOffer,
OrderItem relatedQualifier,
boolean checkOnly,
Offer promotion,
OrderItem relatedQualifierRoot,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails,
int targetQtyNeeded) |
| Modifier and Type | Method and Description |
|---|---|
PromotableCandidateItemOffer |
PromotionDiscount.getCandidateItemOffer() |
| Modifier and Type | Method and Description |
|---|---|
int |
ItemOfferQtyOneComparator.compare(PromotableCandidateItemOffer p1,
PromotableCandidateItemOffer p2) |
int |
ItemOfferComparator.compare(PromotableCandidateItemOffer p1,
PromotableCandidateItemOffer p2) |
void |
PromotionDiscount.setCandidateItemOffer(PromotableCandidateItemOffer candidateItemOffer) |
| Modifier and Type | Class and Description |
|---|---|
class |
PromotableCandidateItemOfferImpl |
| Modifier and Type | Field and Description |
|---|---|
protected PromotableCandidateItemOffer |
PromotableOrderItemPriceDetailAdjustmentImpl.promotableCandidateItemOffer |
| Modifier and Type | Method and Description |
|---|---|
PromotableCandidateItemOffer |
PromotableItemFactory.createPromotableCandidateItemOffer(PromotableOrder promotableOrder,
Offer offer) |
PromotableCandidateItemOffer |
PromotableItemFactoryImpl.createPromotableCandidateItemOffer(PromotableOrder promotableOrder,
Offer offer) |
| Modifier and Type | Method and Description |
|---|---|
void |
PromotableOrderItemPriceDetailImpl.addPromotionDiscount(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
int qtyToMarkAsTarget) |
void |
PromotableOrderItemPriceDetailWrapper.addPromotionDiscount(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
int qtyToMarkAsTarget) |
void |
PromotableOrderItemPriceDetail.addPromotionDiscount(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
int qtyToMarkAsTarget)
Adds a promotionDiscount entry to this itemDetail.
|
PromotionQualifier |
PromotableOrderItemPriceDetailImpl.addPromotionQualifier(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
int qtyToMarkAsQualifier) |
PromotionQualifier |
PromotableOrderItemPriceDetailWrapper.addPromotionQualifier(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
int qtyToMarkAsQualifier) |
PromotionQualifier |
PromotableOrderItemPriceDetail.addPromotionQualifier(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
int qtyToMarkAsQualifier)
Adds a promotionQualifier entry to this itemDetail.
|
PromotableOrderItemPriceDetailAdjustment |
PromotableItemFactory.createPromotableOrderItemPriceDetailAdjustment(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail promotableOrderItemPriceDetail) |
PromotableOrderItemPriceDetailAdjustment |
PromotableItemFactoryImpl.createPromotableOrderItemPriceDetailAdjustment(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail) |
static BigDecimal |
PromotableOfferUtility.determineOfferUnitValue(Offer offer,
PromotableCandidateItemOffer promotableCandidateItemOffer) |
int |
PromotableOrderItemPriceDetailImpl.getQuantityAvailableToBeUsedAsQualifier(PromotableCandidateItemOffer itemOffer) |
int |
PromotableOrderItemPriceDetailWrapper.getQuantityAvailableToBeUsedAsQualifier(PromotableCandidateItemOffer itemOffer) |
int |
PromotableOrderItemPriceDetail.getQuantityAvailableToBeUsedAsQualifier(PromotableCandidateItemOffer itemOffer)
Returns the quantity of this item that can be used as a qualifier for the passed in itemOffer
|
int |
PromotableOrderItemPriceDetailImpl.getQuantityAvailableToBeUsedAsTarget(PromotableCandidateItemOffer itemOffer) |
int |
PromotableOrderItemPriceDetailWrapper.getQuantityAvailableToBeUsedAsTarget(PromotableCandidateItemOffer itemOffer) |
int |
PromotableOrderItemPriceDetail.getQuantityAvailableToBeUsedAsTarget(PromotableCandidateItemOffer itemOffer)
Returns the quantity of this item that can be used as a target for the passed in itemOffer
|
PromotionDiscount |
PromotableOrderItemPriceDetailImpl.lookupOrCreatePromotionDiscount(PromotableCandidateItemOffer candidatePromotion) |
PromotionQualifier |
PromotableOrderItemPriceDetailImpl.lookupOrCreatePromotionQualifier(PromotableCandidateItemOffer candidatePromotion) |
| Constructor and Description |
|---|
PromotableOrderItemPriceDetailAdjustmentImpl(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail) |
| Modifier and Type | Method and Description |
|---|---|
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
|
| Modifier and Type | Method and Description |
|---|---|
protected List<List<PromotableCandidateItemOffer>> |
ItemOfferProcessorImpl.buildItemOfferPermutations(List<PromotableCandidateItemOffer> offers)
This method could be overridden to potentially run all permutations of offers.
|
| 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.
|
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 Money |
ItemOfferProcessorImpl.calculatePotentialSavingsForOrderItem(PromotableCandidateItemOffer itemOffer,
PromotableOrderItem item,
int quantity)
Provide an opportunity to for modules to override the potentialSavingsCalculation
|
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 boolean |
ItemOfferProcessorImpl.offerMeetsSubtotalRequirements(PromotableOrder order,
PromotableCandidateItemOffer itemOffer) |
| Modifier and Type | Method and Description |
|---|---|
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 |
ItemOfferProcessorImpl.applyAndCompareOrderAndItemOffers(PromotableOrder order,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
List<PromotableCandidateItemOffer> qualifiedItemOffers) |
void |
ItemOfferProcessor.applyAndCompareOrderAndItemOffers(PromotableOrder order,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
List<PromotableCandidateItemOffer> qualifiedItemOffers) |
protected List<List<PromotableCandidateItemOffer>> |
ItemOfferProcessorImpl.buildItemOfferPermutations(List<PromotableCandidateItemOffer> offers)
This method could be overridden to potentially run all permutations of offers.
|
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 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 void |
ItemOfferProcessorImpl.determineBestPermutation(List<PromotableCandidateItemOffer> itemOffers,
PromotableOrder order) |
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) |
protected boolean |
ItemOfferProcessorImpl.offerListStartsWithNonCombinable(List<PromotableCandidateItemOffer> offerList) |
Copyright © 2015. All Rights Reserved.