public interface PromotableCandidateItemOffer extends PromotionRounding, Serializable
getRoundingMode, getRoundingScaleHashMap<OfferItemCriteria,List<PromotableOrderItem>> getCandidateQualifiersMap()
void setCandidateQualifiersMap(HashMap<OfferItemCriteria,List<PromotableOrderItem>> candidateItemsMap)
HashMap<OfferItemCriteria,List<PromotableOrderItem>> getCandidateTargetsMap()
void setCandidateTargetsMap(HashMap<OfferItemCriteria,List<PromotableOrderItem>> candidateItemsMap)
Money getPotentialSavings()
void setPotentialSavings(Money savings)
Money getPotentialSavingsQtyOne()
void setPotentialSavingsQtyOne(Money potentialSavingsQtyOne)
boolean hasQualifyingItemCriteria()
int calculateMaximumNumberOfUses()
int calculateTargetQuantityForTieredOffer()
isUseQtyOnlyTierCalculation() to determine how to calculate.
If set to true, this method will use only the quantity in cart for determining which tier level to apply for
a group of qualifying items. This is old and likely undesired behavior, and is disabled by default. To turn
it back on, use `use.quantity.only.tier.calculation=true` in your `common-shared.properties`.
Otherwise, the default behavior is to factor in the number of iterations that the qualifying items have been
applied.int calculateMaxUsesForItemCriteria(OfferItemCriteria itemCriteria, Offer promotion)
itemCriteria - promotion - HashMap<OfferPriceData,List<PromotableOrderItem>> getCandidateFixedTargetsMap()
void setCandidateFixedTargetsMap(HashMap<OfferPriceData,List<PromotableOrderItem>> candidateFixedTargetsMap)
int getPriority()
Offer getOffer()
int getUses()
void addUse()
void resetUses()
ItemOfferProcessor#applyAndCompareOrderAndItemOffers(PromotableOrder, List, List)}List<PromotableOrderItem> getLegacyCandidateTargets()
void setLegacyCandidateTargets(List<PromotableOrderItem> candidateTargets)
BigDecimal getWeightedPercentSaved()
void setWeightedPercentSaved(BigDecimal weightedPercentSaved)
Money getOriginalPrice()
void setOriginalPrice(Money originalPrice)
void setMinimumTargetsRequired(Integer minimumTargetsRequired)
MiniumTargetsRequiredint getMinimumRequiredTargetQuantity()
MinimumTargetsRequiredboolean isUseQtyOnlyTierCalculation()
calculateTargetQuantityForTieredOffer() will use only the
quantity in cart for determining which tier level to apply for a group of qualifying items. This mode
is disabled by default. To turn it back on, use
`use.quantity.only.tier.calculation=true` in your `common-shared.properties`.
Otherwise, the default behavior is to factor in the number of iterations that the qualifying items have been
applied.PromotableCandidateItemOffer#calculateTargetQuantityForTieredOffer()}void setUseQtyOnlyTierCalculation(boolean useQtyOnlyTierCalculation)
calculateTargetQuantityForTieredOffer() will use only the
quantity in cart for determining which tier level to apply for a group of qualifying items. This mode
is disabled by default. To turn it back on, use
`use.quantity.only.tier.calculation=true` in your `common-shared.properties`.
Otherwise, the default behavior is to factor in the number of iterations that the qualifying items have been
applied.useQtyOnlyTierCalculation - PromotableCandidateItemOffer#calculateTargetQuantityForTieredOffer()}Copyright © 2020. All rights reserved.