public interface OfferServiceUtilities
Modifier and Type | Method and Description |
---|---|
void |
applyAdjustmentsForItemPriceDetails(PromotableCandidateItemOffer itemOffer,
List<PromotableOrderItemPriceDetail> itemPriceDetails)
Takes in a list of
PromotableOrderItemPriceDetail s 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)
PromotableOrderItemPriceDetail
s 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 Offer
order
- offer
- qualifiersMap
- boolean orderMeetsTargetSubtotalRequirements(PromotableOrder order, Offer offer, HashMap<OfferItemCriteria,List<PromotableOrderItem>> targetsMap)
PromotableOrder
meets the target subtotal requirement of an Offer
order
- offer
- targetsMap
- boolean orderMeetsSubtotalRequirements(PromotableOrder order, Offer offer)
PromotableOrder
meets the subtotal requirement of an Offer
order
- offer
- Copyright © 2019. All rights reserved.