|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.broadleafcommerce.core.offer.service.processor.AbstractBaseProcessor
org.broadleafcommerce.core.offer.service.processor.OrderOfferProcessorImpl
@Service(value="blOrderOfferProcessor") public class OrderOfferProcessorImpl
| Field Summary | |
|---|---|
protected OfferDao |
offerDao
|
protected OrderItemDao |
orderItemDao
|
protected PromotableItemFactory |
promotableItemFactory
|
| Fields inherited from class org.broadleafcommerce.core.offer.service.processor.AbstractBaseProcessor |
|---|
offerTimeZoneProcessor |
| Constructor Summary | |
|---|---|
OrderOfferProcessorImpl()
|
|
| Method Summary | |
|---|---|
void |
applyAllOrderOffers(List<PromotableCandidateOrderOffer> orderOffers,
PromotableOrder promotableOrder)
Takes a list of sorted CandidateOrderOffers and determines if each offer can be applied based on the restrictions (stackable and/or combinable) on that offer. |
protected void |
applyOrderOffer(PromotableOrder promotableOrder,
PromotableCandidateOrderOffer orderOffer)
Private method used by applyAllOrderOffers to create an OrderAdjustment from a CandidateOrderOffer and associates the OrderAdjustment to the Order. |
protected Map<Long,OrderItemPriceDetailAdjustment> |
buildItemDetailAdjustmentMap(OrderItemPriceDetail itemDetail)
|
protected String |
buildItemPriceDetailKey(OrderItemPriceDetail itemDetail)
|
protected List<OrderItem> |
buildOrderItemList(Order order)
|
protected Map<Long,PromotableFulfillmentGroupAdjustment> |
buildPromFulfillmentAdjMap(PromotableFulfillmentGroup fg)
|
protected Map<String,PromotableOrderItemPriceDetail> |
buildPromotableDetailsMap(PromotableOrderItem item)
|
protected Map<Long,PromotableFulfillmentGroup> |
buildPromotableFulfillmentGroupMap(PromotableOrder order)
|
protected Map<OrderItem,PromotableOrderItem> |
buildPromotableItemMap(PromotableOrder promotableOrder)
|
protected Map<Long,PromotableOrderAdjustment> |
buildPromotableOrderAdjustmentsMap(PromotableOrder promotableOrder)
|
protected Map<Long,PromotionQualifier> |
buildPromotableQualifiersMap(PromotableOrderItem item)
|
protected void |
compareAndAdjustOrderAndItemOffers(PromotableOrder promotableOrder)
Called when the system must determine whether to apply order or item adjustments. |
boolean |
couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder)
Executes the appliesToOrderRules in the Offer to determine if this offer can be applied to the Order, OrderItem, or FulfillmentGroup. |
protected boolean |
couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableFulfillmentGroup fulfillmentGroup)
Private method which executes the appliesToOrderRules in the Offer to determine if this offer can be applied to the Order, OrderItem, or FulfillmentGroup. |
protected boolean |
couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableOrderItem orderItem)
Private method which executes the appliesToOrderRules in the Offer to determine if this offer can be applied to the Order, OrderItem, or FulfillmentGroup. |
protected boolean |
couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableOrderItem promotableOrderItem,
PromotableFulfillmentGroup promotableFulfillmentGroup)
Private method which executes the appliesToOrderRules in the Offer to determine if this offer can be applied to the Order, OrderItem, or FulfillmentGroup. |
protected PromotableCandidateOrderOffer |
createCandidateOrderOffer(PromotableOrder promotableOrder,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
Offer offer)
|
void |
filterOrderLevelOffer(PromotableOrder promotableOrder,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
Offer offer)
|
PromotableItemFactory |
getPromotableItemFactory()
|
protected void |
processMatchingDetails(OrderItemPriceDetail itemDetail,
PromotableOrderItemPriceDetail promotableItemDetail)
|
List<PromotableCandidateOrderOffer> |
removeTrailingNotCombinableOrderOffers(List<PromotableCandidateOrderOffer> candidateOffers)
|
void |
setOfferDao(OfferDao offerDao)
Set the offerDao (primarily for unit testing) |
void |
setOrderItemDao(OrderItemDao orderItemDao)
Set the orderItemDao (primarily for unit testing) |
void |
setPromotableItemFactory(PromotableItemFactory promotableItemFactory)
|
void |
synchronizeAdjustmentsAndPrices(PromotableOrder promotableOrder)
Takes the adjustments and PriceDetails from the passed in PromotableOrder and transfers them to the actual order first checking to see if they already exist. |
protected void |
synchronizeFulfillmentGroupAdjustments(FulfillmentGroup fg,
PromotableFulfillmentGroup promotableFG)
|
protected void |
synchronizeFulfillmentGroups(PromotableOrder promotableOrder)
|
protected void |
synchronizeItemPriceDetails(OrderItem orderItem,
PromotableOrderItem promotableOrderItem)
|
protected void |
synchronizeItemQualifiers(OrderItem orderItem,
PromotableOrderItem promotableOrderItem)
|
protected void |
synchronizeOrderAdjustments(PromotableOrder promotableOrder)
|
protected void |
synchronizeOrderItems(PromotableOrder promotableOrder)
|
protected void |
updateItemAdjustment(OrderItemPriceDetailAdjustment itemAdjustment,
PromotableOrderItemPriceDetailAdjustment promotableAdjustment)
|
protected void |
updatePriceDetail(OrderItemPriceDetail itemDetail,
PromotableOrderItemPriceDetail promotableDetail)
|
| Methods inherited from class org.broadleafcommerce.core.offer.service.processor.AbstractBaseProcessor |
|---|
checkForItemRequirements, clearAllNonFinalizedQuantities, couldOfferApplyToCustomer, couldOfferApplyToOrderItems, couldOfferApplyToRequestDTO, couldOfferApplyToTimePeriod, couldOrderItemMeetOfferRequirement, executeExpression, filterOffers, finalizeQuantities, getOfferTimeZoneProcessor, meetsItemQualifierSubtotal, removeInvalidCustomerOffers, removeInvalidRequestOffers, removeOutOfDateOffers, removeTimePeriodOffers, setOfferTimeZoneProcessor, splitDetailsIfNecessary |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.broadleafcommerce.core.offer.service.processor.OrderOfferProcessor |
|---|
executeExpression |
| Methods inherited from interface org.broadleafcommerce.core.offer.service.processor.BaseProcessor |
|---|
filterOffers |
| Field Detail |
|---|
protected PromotableItemFactory promotableItemFactory
protected OfferDao offerDao
protected OrderItemDao orderItemDao
| Constructor Detail |
|---|
public OrderOfferProcessorImpl()
| Method Detail |
|---|
public void filterOrderLevelOffer(PromotableOrder promotableOrder,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
Offer offer)
filterOrderLevelOffer in interface OrderOfferProcessor
public boolean couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder)
OrderOfferProcessor
couldOfferApplyToOrder in interface OrderOfferProcessor
protected boolean couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableOrderItem orderItem)
offer - order - orderItem -
protected boolean couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableFulfillmentGroup fulfillmentGroup)
offer - order - fulfillmentGroup -
protected boolean couldOfferApplyToOrder(Offer offer,
PromotableOrder promotableOrder,
PromotableOrderItem promotableOrderItem,
PromotableFulfillmentGroup promotableFulfillmentGroup)
offer - order - promotableOrderItem - promotableFulfillmentGroup -
protected PromotableCandidateOrderOffer createCandidateOrderOffer(PromotableOrder promotableOrder,
List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
Offer offer)
public List<PromotableCandidateOrderOffer> removeTrailingNotCombinableOrderOffers(List<PromotableCandidateOrderOffer> candidateOffers)
removeTrailingNotCombinableOrderOffers in interface OrderOfferProcessor
public void applyAllOrderOffers(List<PromotableCandidateOrderOffer> orderOffers,
PromotableOrder promotableOrder)
OrderOfferProcessor
applyAllOrderOffers in interface OrderOfferProcessororderOffers - a sorted list of CandidateOrderOfferprotected void compareAndAdjustOrderAndItemOffers(PromotableOrder promotableOrder)
promotableOrder - orderOffersApplied -
protected void applyOrderOffer(PromotableOrder promotableOrder,
PromotableCandidateOrderOffer orderOffer)
orderOffer - a CandidateOrderOffer to apply to an Orderpublic PromotableItemFactory getPromotableItemFactory()
getPromotableItemFactory in interface OrderOfferProcessorpublic void setPromotableItemFactory(PromotableItemFactory promotableItemFactory)
setPromotableItemFactory in interface OrderOfferProcessorprotected Map<Long,PromotableOrderAdjustment> buildPromotableOrderAdjustmentsMap(PromotableOrder promotableOrder)
protected void synchronizeOrderAdjustments(PromotableOrder promotableOrder)
protected List<OrderItem> buildOrderItemList(Order order)
protected void synchronizeOrderItems(PromotableOrder promotableOrder)
protected Map<OrderItem,PromotableOrderItem> buildPromotableItemMap(PromotableOrder promotableOrder)
protected void synchronizeItemPriceDetails(OrderItem orderItem,
PromotableOrderItem promotableOrderItem)
protected void synchronizeItemQualifiers(OrderItem orderItem,
PromotableOrderItem promotableOrderItem)
protected void updatePriceDetail(OrderItemPriceDetail itemDetail,
PromotableOrderItemPriceDetail promotableDetail)
protected void updateItemAdjustment(OrderItemPriceDetailAdjustment itemAdjustment,
PromotableOrderItemPriceDetailAdjustment promotableAdjustment)
protected void processMatchingDetails(OrderItemPriceDetail itemDetail,
PromotableOrderItemPriceDetail promotableItemDetail)
protected Map<Long,OrderItemPriceDetailAdjustment> buildItemDetailAdjustmentMap(OrderItemPriceDetail itemDetail)
protected String buildItemPriceDetailKey(OrderItemPriceDetail itemDetail)
protected Map<String,PromotableOrderItemPriceDetail> buildPromotableDetailsMap(PromotableOrderItem item)
protected Map<Long,PromotionQualifier> buildPromotableQualifiersMap(PromotableOrderItem item)
protected void synchronizeFulfillmentGroups(PromotableOrder promotableOrder)
protected Map<Long,PromotableFulfillmentGroup> buildPromotableFulfillmentGroupMap(PromotableOrder order)
protected Map<Long,PromotableFulfillmentGroupAdjustment> buildPromFulfillmentAdjMap(PromotableFulfillmentGroup fg)
protected void synchronizeFulfillmentGroupAdjustments(FulfillmentGroup fg,
PromotableFulfillmentGroup promotableFG)
public void synchronizeAdjustmentsAndPrices(PromotableOrder promotableOrder)
OrderOfferProcessor
synchronizeAdjustmentsAndPrices in interface OrderOfferProcessorpublic void setOfferDao(OfferDao offerDao)
OrderOfferProcessor
setOfferDao in interface OrderOfferProcessorpublic void setOrderItemDao(OrderItemDao orderItemDao)
OrderOfferProcessor
setOrderItemDao in interface OrderOfferProcessor
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||