public interface OfferServiceUtilities
| Modifier and Type | Method and Description |
|---|---|
void |
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 |
applyOrderItemAdjustment(PromotableCandidateItemOffer itemOffer,
PromotableOrderItemPriceDetail itemPriceDetail)
Used by applyAdjustments to create an OrderItemAdjustment from a CandidateOrderOffer
and associates the OrderItemAdjustment to the OrderItem.
|
Map<Long,OrderItemPriceDetailAdjustment> |
buildItemDetailAdjustmentMap(OrderItemPriceDetail itemDetail)
Builds a map from itemDetails for adjustment processing.
|
List<OrderItem> |
buildOrderItemList(Order order)
Builds the list of order-items at the level they are being priced which includes splitting bundles that are
being priced at the item level.
|
Map<OrderItem,PromotableOrderItem> |
buildPromotableItemMap(PromotableOrder promotableOrder)
Builds a map from orderItem to promotableOrderItem.
|
OrderItem |
findRelatedQualifierRoot(OrderItem relatedQualifier)
Given an orderItem, finds the top most parent order item.
|
boolean |
isAddOnOrderItem(OrderItem orderItem)
Determines whether or not the
OrderItem was added by a Product Add-On |
boolean |
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 |
markQualifiersForCriteria(PromotableCandidateItemOffer itemOffer,
OfferItemCriteria itemCriteria,
List<PromotableOrderItemPriceDetail> priceDetails)
Returns the number of qualifiers marked for the passed in itemCriteria
|
int |
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 |
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 |
orderMeetsQualifyingSubtotalRequirements(PromotableOrder order,
Offer offer,
HashMap<OfferItemCriteria,List<PromotableOrderItem>> qualifiersMap)
Determines whether or not an
PromotableOrder meets the qualifying subtotal requirement of an Offer |
boolean |
orderMeetsSubtotalRequirements(PromotableOrder order,
Offer offer)
Determines whether or not an
PromotableOrder meets the subtotal requirement of an Offer |
boolean |
orderMeetsTargetSubtotalRequirements(PromotableOrder order,
Offer offer,
HashMap<OfferItemCriteria,List<PromotableOrderItem>> targetsMap)
Determines whether or not an
PromotableOrder meets the target subtotal requirement of an Offer |
void |
removeUnmatchedPriceDetails(Map<Long,? extends OrderItemPriceDetail> unmatchedDetailsMap,
Iterator<? extends OrderItemPriceDetail> pdIterator)
Removes price details from the iterator that are contained in the passed in map.
|
void |
removeUnmatchedQualifiers(Map<Long,? extends OrderItemQualifier> unmatchedQualifiersMap,
Iterator<? extends OrderItemQualifier> qIterator)
Removes qualifiers from the iterator that are contained in the passed in map.
|
void |
sortQualifierItemDetails(List<PromotableOrderItemPriceDetail> itemPriceDetails,
boolean applyToSalePrice)
Used in
ItemOfferProcessorImpl.applyItemQualifiersAndTargets(PromotableCandidateItemOffer, PromotableOrder)
Allow for customized sorting for which qualifier items should be attempted to be used first for a promotion. |
void |
sortTargetItemDetails(List<PromotableOrderItemPriceDetail> itemPriceDetails,
boolean applyToSalePrice)
Used in
ItemOfferProcessorImpl.applyItemQualifiersAndTargets(PromotableCandidateItemOffer, PromotableOrder)
Allow for customized sorting for which qualifier items should be attempted to be used first for a promotion. |
void |
updatePriceDetail(OrderItemPriceDetail itemDetail,
PromotableOrderItemPriceDetail promotableDetail)
Updates the passed in price detail and its associated adjustments.
|
void sortTargetItemDetails(List<PromotableOrderItemPriceDetail> itemPriceDetails, boolean applyToSalePrice)
ItemOfferProcessorImpl.applyItemQualifiersAndTargets(PromotableCandidateItemOffer, PromotableOrder)
Allow for customized sorting for which qualifier items should be attempted to be used first for a promotion.
Default behavior is to sort descending, so higher-value items are attempted to be discounted first.void sortQualifierItemDetails(List<PromotableOrderItemPriceDetail> itemPriceDetails, boolean applyToSalePrice)
ItemOfferProcessorImpl.applyItemQualifiersAndTargets(PromotableCandidateItemOffer, PromotableOrder)
Allow for customized sorting for which qualifier items should be attempted to be used first for a promotion.
Default behavior is to sort descending, so higher-value items are attempted to be qualified first.OrderItem findRelatedQualifierRoot(OrderItem relatedQualifier)
relatedQualifier - boolean itemOfferCanBeApplied(PromotableCandidateItemOffer itemOffer, List<PromotableOrderItemPriceDetail> details)
order - details - int markQualifiersForCriteria(PromotableCandidateItemOffer itemOffer, OfferItemCriteria itemCriteria, List<PromotableOrderItemPriceDetail> priceDetails)
itemOffer - itemCriteria - priceDetails - int markTargetsForCriteria(PromotableCandidateItemOffer itemOffer, OrderItem relatedQualifier, boolean checkOnly, Offer promotion, OrderItem relatedQualifierRoot, OfferItemCriteria itemCriteria, List<PromotableOrderItemPriceDetail> priceDetails, int targetQtyNeeded)
itemOffer - relatedQualifier - checkOnly - promotion - relatedQualifierRoot - itemCriteria - priceDetails - targetQtyNeeded - int markRelatedQualifiersAndTargetsForItemCriteria(PromotableCandidateItemOffer itemOffer, PromotableOrder order, OrderItemHolder orderItemHolder, OfferItemCriteria itemCriteria, List<PromotableOrderItemPriceDetail> priceDetails, ItemOfferMarkTargets itemOfferMarkTargets)
itemOffer - order - orderItemHolder - itemCriteria - priceDetails - void applyAdjustmentsForItemPriceDetails(PromotableCandidateItemOffer itemOffer, List<PromotableOrderItemPriceDetail> itemPriceDetails)
PromotableOrderItemPriceDetails and applies adjustments for all of the
discounts that match the passed in offer.itemOffer - itemPriceDetails - boolean isAddOnOrderItem(OrderItem orderItem)
OrderItem was added by a Product Add-OnorderItem - void applyOrderItemAdjustment(PromotableCandidateItemOffer itemOffer, PromotableOrderItemPriceDetail itemPriceDetail)
orderOffer - a CandidateOrderOffer to apply to an OrderList<OrderItem> buildOrderItemList(Order order)
order - Map<OrderItem,PromotableOrderItem> buildPromotableItemMap(PromotableOrder promotableOrder)
promotableOrder - Map<Long,OrderItemPriceDetailAdjustment> buildItemDetailAdjustmentMap(OrderItemPriceDetail itemDetail)
itemDetail - void updatePriceDetail(OrderItemPriceDetail itemDetail, PromotableOrderItemPriceDetail promotableDetail)
itemDetail - promotableDetail - void removeUnmatchedPriceDetails(Map<Long,? extends OrderItemPriceDetail> unmatchedDetailsMap, Iterator<? extends OrderItemPriceDetail> pdIterator)
unmatchedDetailsMap - pdIterator - void removeUnmatchedQualifiers(Map<Long,? extends OrderItemQualifier> unmatchedQualifiersMap, Iterator<? extends OrderItemQualifier> qIterator)
unmatchedQualifiersMap - qIterator - boolean orderMeetsQualifyingSubtotalRequirements(PromotableOrder order, Offer offer, HashMap<OfferItemCriteria,List<PromotableOrderItem>> qualifiersMap)
PromotableOrder meets the qualifying subtotal requirement of an Offerorder - offer - qualifiersMap - boolean orderMeetsTargetSubtotalRequirements(PromotableOrder order, Offer offer, HashMap<OfferItemCriteria,List<PromotableOrderItem>> targetsMap)
PromotableOrder meets the target subtotal requirement of an Offerorder - offer - targetsMap - boolean orderMeetsSubtotalRequirements(PromotableOrder order, Offer offer)
PromotableOrder meets the subtotal requirement of an Offerorder - offer - Copyright © 2019. All rights reserved.