|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface OfferServiceUtilities
This class serves to allow reuse of logic between the core offer service and related offer service extensions. Changes here likely affect other modules including advanced offer and subscription.
| Method Summary | |
|---|---|
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 |
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 |
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. |
| Method Detail |
|---|
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 -
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 -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||