| 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 |
OfferServiceUtilitiesImpl.applyAdjustmentsForItemPriceDetails(PromotableCandidateItemOffer itemOffer,
List<PromotableOrderItemPriceDetail> itemPriceDetails) |
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. |
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.
|
ExtensionResultStatusType |
OfferServiceExtensionManager.applyItemOffer(PromotableOrder order,
PromotableCandidateItemOffer itemOffer,
Map<String,Object> contextMap) |
ExtensionResultStatusType |
AbstractOfferServiceExtensionHandler.applyItemOffer(PromotableOrder order,
PromotableCandidateItemOffer itemOffer,
Map<String,Object> contextMap) |
void |
OfferServiceUtilitiesImpl.applyOrderItemAdjustment(PromotableCandidateItemOffer itemOffer,
PromotableOrderItemPriceDetail itemPriceDetail) |
void |
OfferServiceUtilities.applyOrderItemAdjustment(PromotableCandidateItemOffer itemOffer,
PromotableOrderItemPriceDetail itemPriceDetail)
Used by applyAdjustments to create an OrderItemAdjustment from a CandidateOrderOffer
and associates the OrderItemAdjustment to the OrderItem.
|
ExtensionResultStatusType |
OfferServiceExtensionHandler.calculatePotentialSavings(PromotableCandidateItemOffer itemOffer,
PromotableOrderItem item,
int quantity,
Map<String,Object> contextMap)
Modules may extend the calculatePotentialSavings method.
|
ExtensionResultStatusType |
OfferServiceExtensionManager.calculatePotentialSavings(PromotableCandidateItemOffer itemOffer,
PromotableOrderItem item,
int quantity,
Map<String,Object> contextMap) |
ExtensionResultStatusType |
AbstractOfferServiceExtensionHandler.calculatePotentialSavings(PromotableCandidateItemOffer itemOffer,
PromotableOrderItem item,
int quantity,
Map<String,Object> contextMap) |
boolean |
OfferServiceUtilitiesImpl.itemOfferCanBeApplied(PromotableCandidateItemOffer itemOffer,
List<PromotableOrderItemPriceDetail> details) |
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.
|
int |
OfferServiceUtilitiesImpl.markQualifiersForCriteria(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails) |
int |
OfferServiceUtilities.markQualifiersForCriteria(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails)
Returns the number of qualifiers marked for the passed in itemCriteria
|
int |
OfferServiceUtilitiesImpl.markRelatedQualifiersAndTargetsForItemCriteria(PromotableCandidateItemOffer itemOffer,
PromotableOrder order,
OrderItemHolder orderItemHolder,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails,
ItemOfferMarkTargets itemOfferMarkTargets) |
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.markTargetsForCriteria(PromotableCandidateItemOffer itemOffer,
OrderItem relatedQualifier,
boolean checkOnly,
Offer promotion,
OrderItem relatedQualifierRoot,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails,
int targetQtyNeeded) |
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
|
boolean |
OfferServiceUtilitiesImpl.markTargetsForOfferPriceData(PromotableCandidateItemOffer itemOffer,
OrderItem relatedQualifier,
boolean checkOnly,
Offer promotion,
OrderItem relatedQualifierRoot,
OfferPriceData offerPriceData,
List<PromotableOrderItemPriceDetail> priceDetails) |
boolean |
OfferServiceUtilities.markTargetsForOfferPriceData(PromotableCandidateItemOffer itemOffer,
OrderItem relatedQualifier,
boolean checkOnly,
Offer promotion,
OrderItem relatedQualifierRoot,
OfferPriceData offerPriceData,
List<PromotableOrderItemPriceDetail> priceDetails) |
| Modifier and Type | Method and Description |
|---|---|
PromotableCandidateItemOffer |
PromotionDiscount.getCandidateItemOffer() |
| Modifier and Type | Method and Description |
|---|---|
int |
ItemOfferComparator.compare(PromotableCandidateItemOffer p1,
PromotableCandidateItemOffer p2) |
int |
ItemOfferQtyOneComparator.compare(PromotableCandidateItemOffer p1,
PromotableCandidateItemOffer p2) |
int |
ItemOfferWeightedPercentComparator.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 |
PromotableItemFactoryImpl.createPromotableCandidateItemOffer(PromotableOrder promotableOrder,
Offer offer) |
PromotableCandidateItemOffer |
PromotableItemFactory.createPromotableCandidateItemOffer(PromotableOrder promotableOrder,
Offer offer) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
void |
PromotableOrderItemPriceDetailImpl.addPromotionDiscount(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
int qtyToMarkAsTarget) |
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.
|
PromotionQualifier |
PromotableOrderItemPriceDetailImpl.addPromotionQualifier(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
int qtyToMarkAsQualifier) |
Money |
PromotableOfferUtilityImpl.calculateSavingsForOrderItem(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItem promotableOrderItem,
int qtyToReceiveSavings) |
Money |
PromotableOfferUtility.calculateSavingsForOrderItem(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItem orderItem,
int qtyToReceiveSavings) |
Money |
PromotableOfferUtilityImpl.computeAdjustmentValue(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail,
boolean allowSalePrice) |
Money |
PromotableOfferUtility.computeAdjustmentValue(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail,
boolean allowSalePrice) |
protected Tuple<OfferDiscountType,BigDecimal> |
PromotableOfferUtilityImpl.computeDiscountVariables(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItem promotableOrderItem,
int quantity)
Computes the discount type and unit value for the given PromotableOrderItem.
|
Money |
PromotableOfferUtilityImpl.computeRetailAdjustmentValue(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail) |
Money |
PromotableOfferUtility.computeRetailAdjustmentValue(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail) |
Money |
PromotableOfferUtilityImpl.computeSalesAdjustmentValue(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail) |
Money |
PromotableOfferUtility.computeSalesAdjustmentValue(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail) |
PromotableOrderItemPriceDetailAdjustment |
PromotableItemFactoryImpl.createPromotableOrderItemPriceDetailAdjustment(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail) |
PromotableOrderItemPriceDetailAdjustment |
PromotableItemFactory.createPromotableOrderItemPriceDetailAdjustment(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail promotableOrderItemPriceDetail) |
protected OfferPriceData |
PromotableOfferUtilityImpl.findMatchingOfferPriceData(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItem orderItem) |
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.getQuantityAvailableToBeUsedAsQualifier(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
|
int |
PromotableOrderItemPriceDetailImpl.getQuantityAvailableToBeUsedAsTarget(PromotableCandidateItemOffer itemOffer) |
PromotionDiscount |
PromotableOrderItemPriceDetailImpl.lookupOrCreatePromotionDiscount(PromotableCandidateItemOffer candidatePromotion) |
PromotionQualifier |
PromotableOrderItemPriceDetailImpl.lookupOrCreatePromotionQualifier(PromotableCandidateItemOffer candidatePromotion) |
| Constructor and Description |
|---|
PromotableOrderItemPriceDetailAdjustmentImpl(PromotableCandidateItemOffer promotableCandidateItemOffer,
PromotableOrderItemPriceDetail orderItemPriceDetail,
Money retailAdjustmentValue,
Money saleAdjustmentValue) |
| 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.
|
protected List<PromotableCandidateItemOffer> |
ItemOfferProcessorImpl.determineBestPermutation(List<PromotableCandidateItemOffer> itemOffers,
PromotableOrder order) |
protected List<PromotableCandidateItemOffer> |
ItemOfferProcessorImpl.getPermutationByComparator(List<PromotableCandidateItemOffer> offers,
Comparator instance) |
| 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 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 |
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.
|
boolean |
ItemOfferMarkTargets.markTargets(PromotableCandidateItemOffer itemOffer,
PromotableOrder order,
OrderItem relatedQualifier,
boolean checkOnly) |
protected boolean |
ItemOfferProcessorImpl.orderMeetsQualifyingSubtotalRequirements(PromotableOrder order,
PromotableCandidateItemOffer itemOffer) |
protected boolean |
ItemOfferProcessorImpl.orderMeetsSubtotalRequirements(PromotableOrder order,
PromotableCandidateItemOffer itemOffer) |
protected boolean |
ItemOfferProcessorImpl.orderMeetsTargetSubtotalRequirements(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 List<Long> |
ItemOfferProcessorImpl.convertToIdList(List<PromotableCandidateItemOffer> offerList) |
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 List<PromotableCandidateItemOffer> |
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 List<PromotableCandidateItemOffer> |
ItemOfferProcessorImpl.getPermutationByComparator(List<PromotableCandidateItemOffer> offers,
Comparator instance) |
protected boolean |
ItemOfferProcessorImpl.offerListStartsWithNonCombinable(List<PromotableCandidateItemOffer> offerList) |
protected void |
ItemOfferProcessorImpl.removeDuplicatePermutations(List<List<PromotableCandidateItemOffer>> permutations) |
protected void |
ItemOfferProcessorImpl.removeTotalitarianAndNonCombinableOffers(List<PromotableCandidateItemOffer> offers,
List<List<PromotableCandidateItemOffer>> listOfOfferLists) |
protected void |
ItemOfferProcessorImpl.removeTotalitarianAndNonCombinableOffers(List<PromotableCandidateItemOffer> offers,
List<List<PromotableCandidateItemOffer>> listOfOfferLists) |
Copyright © 2023. All rights reserved.