|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.broadleafcommerce.offer.service.OfferServiceImpl
@Service(value="blOfferService") public class OfferServiceImpl
The Class OfferServiceImpl.
| Field Summary | |
|---|---|
protected CustomerOfferDao |
customerOfferDao
|
protected OfferCodeDao |
offerCodeDao
|
protected OfferDao |
offerDao
|
| Constructor Summary | |
|---|---|
OfferServiceImpl()
|
|
| Method Summary | |
|---|---|
protected void |
applyAllFulfillmentGroupOffers(java.util.List<CandidateFulfillmentGroupOffer> fulfillmentGroupOffers,
FulfillmentGroup fulfillmentGroup)
Private method that takes a list of sorted CandidateFulfillmentGroupOffer and determines if each offer can be applied based on the restrictions (stackable and/or combinable) on that offer. |
protected boolean |
applyAllItemOffers(java.util.List<CandidateItemOffer> itemOffers,
java.util.List<DiscreteOrderItem> discreteOrderItems)
Private method that takes a list of sorted CandidateItemOffers and determines if each offer can be applied based on the restrictions (stackable and/or combinable) on that offer. |
protected boolean |
applyAllOrderOffers(java.util.List<CandidateOrderOffer> orderOffers,
Order order)
Private method that 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 |
applyFulfillmentGroupOffer(CandidateFulfillmentGroupOffer fulfillmentGroupOffer)
Private method used by applyAllFulfillmentGroupOffers to create an FulfillmentGroupAdjustment from a CandidateFulfillmentGroupOffer and associates the FulfillmentGroupAdjustment to the Order. |
void |
applyFulfillmentGroupOffers(FulfillmentGroup fulfillmentGroup)
Apply offers for a fulfillmentGroup |
void |
applyFulfillmentGroupsOffers(java.util.List<FulfillmentGroup> fulfillmentGroups)
Apply offers for a List of FulfillmentGroup |
void |
applyOffersToOrder(java.util.List<Offer> offers,
Order order)
Apply offers to order. |
protected void |
applyOrderItemOffer(CandidateItemOffer itemOffer)
Private method used by applyAllItemOffers to create an OrderItemAdjustment from a CandidateItemOffer and associates the OrderItemAdjustment to the OrderItem. |
protected void |
applyOrderOffer(CandidateOrderOffer orderOffer)
Private method used by applyAllOrderOffers to create an OrderAdjustment from a CandidateOrderOffer and associates the OrderAdjustment to the Order. |
java.util.List<Offer> |
buildOfferListForOrder(Order order)
Creates a list of offers that applies to this order. |
protected void |
clearOffersandAdjustments(Order order)
|
protected boolean |
couldOfferApplyToCustomer(Offer offer,
Customer customer)
Private method which executes the appliesToCustomerRules in the Offer to determine if this Offer can be applied to the Customer. |
protected boolean |
couldOfferApplyToOrder(Offer offer,
Order order)
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,
Order order,
DiscreteOrderItem discreteOrderItem)
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,
Order order,
DiscreteOrderItem discreteOrderItem,
FulfillmentGroup 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,
Order order,
FulfillmentGroup 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 java.lang.Boolean |
executeExpression(java.lang.String expression,
java.util.Map<java.lang.String,java.lang.Object> vars)
Private method used by couldOfferApplyToOrder to execute the MVEL expression in the appliesToOrderRules to determine if this offer can be applied. |
protected java.util.List<Offer> |
filterOffers(java.util.List<Offer> offers,
Customer customer)
|
java.util.List<Offer> |
findAllOffers()
Returns all offers |
protected java.util.List<Offer> |
lookupAutomaticDeliveryOffers()
Private method used to retrieve all offers with DeliveryType of AUTOMATIC |
Offer |
lookupOfferByCode(java.lang.String code)
Creates a list of offers that applies to this order. |
OfferCode |
lookupOfferCodeByCode(java.lang.String code)
Lookup OfferCode by code. |
protected java.util.List<CustomerOffer> |
lookupOfferCustomerByCustomer(Customer customer)
Private method used to retrieve all offers assigned to this customer. |
protected java.util.List<Offer> |
removeInvalidCustomerOffers(java.util.List<Offer> offers,
Customer customer)
Private method that takes in a list of Offers and removes all Offers from the list that does not apply to this customer. |
protected java.util.List<CandidateItemOffer> |
removeOfferFromCandidateItemOffers(java.util.List<CandidateItemOffer> candidateOffers,
Offer offer)
|
protected java.util.List<CandidateOrderOffer> |
removeOfferFromCandidateOrderOffers(java.util.List<CandidateOrderOffer> candidateOffers,
Offer offer)
|
protected java.util.List<OfferCode> |
removeOutOfDateOfferCodes(java.util.List<OfferCode> offerCodes)
Removes all out of date offerCodes based on the offerCode and its offer's start and end date. |
protected java.util.List<Offer> |
removeOutOfDateOffers(java.util.List<Offer> offers)
Removes all out of date offers. |
protected java.util.List<CandidateItemOffer> |
removeTrailingNotCombinableItemOffers(java.util.List<CandidateItemOffer> candidateOffers)
|
protected java.util.List<CandidateOrderOffer> |
removeTrailingNotCombinableOrderOffers(java.util.List<CandidateOrderOffer> candidateOffers)
|
Offer |
save(Offer offer)
Save a new offer or updates an existing offer |
OfferCode |
saveOfferCode(OfferCode offerCode)
Saves a new Offer or updates an existing Offer that belongs to an OfferCode, then saves or updates the OfferCode |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected CustomerOfferDao customerOfferDao
protected OfferCodeDao offerCodeDao
protected OfferDao offerDao
| Constructor Detail |
|---|
public OfferServiceImpl()
| Method Detail |
|---|
public java.util.List<Offer> findAllOffers()
OfferService
findAllOffers in interface OfferServicepublic Offer save(Offer offer)
OfferService
save in interface OfferServicepublic OfferCode saveOfferCode(OfferCode offerCode)
OfferService
saveOfferCode in interface OfferServicepublic Offer lookupOfferByCode(java.lang.String code)
lookupOfferByCode in interface OfferServiceorder -
public java.util.List<Offer> buildOfferListForOrder(Order order)
buildOfferListForOrder in interface OfferServiceorder -
protected java.util.List<CustomerOffer> lookupOfferCustomerByCustomer(Customer customer)
customer -
protected java.util.List<Offer> lookupAutomaticDeliveryOffers()
protected java.util.List<OfferCode> removeOutOfDateOfferCodes(java.util.List<OfferCode> offerCodes)
offers -
public void applyOffersToOrder(java.util.List<Offer> offers,
Order order)
throws PricingException
OfferService
applyOffersToOrder in interface OfferServiceoffers - the offersorder - the order
PricingExceptionprotected java.util.List<CandidateOrderOffer> removeTrailingNotCombinableOrderOffers(java.util.List<CandidateOrderOffer> candidateOffers)
protected java.util.List<CandidateItemOffer> removeTrailingNotCombinableItemOffers(java.util.List<CandidateItemOffer> candidateOffers)
protected java.util.List<CandidateOrderOffer> removeOfferFromCandidateOrderOffers(java.util.List<CandidateOrderOffer> candidateOffers,
Offer offer)
protected java.util.List<CandidateItemOffer> removeOfferFromCandidateItemOffers(java.util.List<CandidateItemOffer> candidateOffers,
Offer offer)
protected void clearOffersandAdjustments(Order order)
protected java.util.List<Offer> filterOffers(java.util.List<Offer> offers,
Customer customer)
protected java.util.List<Offer> removeOutOfDateOffers(java.util.List<Offer> offers)
offers -
protected java.util.List<Offer> removeInvalidCustomerOffers(java.util.List<Offer> offers,
Customer customer)
offers - customer -
protected boolean couldOfferApplyToCustomer(Offer offer,
Customer customer)
offer - customer -
protected boolean applyAllItemOffers(java.util.List<CandidateItemOffer> itemOffers,
java.util.List<DiscreteOrderItem> discreteOrderItems)
itemOffers - a sorted list of CandidateItemOffer
protected void applyOrderItemOffer(CandidateItemOffer itemOffer)
itemOffer - a CandidateItemOffer to apply to an OrderItem
protected boolean applyAllOrderOffers(java.util.List<CandidateOrderOffer> orderOffers,
Order order)
orderOffers - a sorted list of CandidateOrderOfferorder - the Order to apply the CandidateOrderOffers
protected void applyOrderOffer(CandidateOrderOffer orderOffer)
orderOffer - a CandidateOrderOffer to apply to an Order
protected boolean couldOfferApplyToOrder(Offer offer,
Order order)
offer - order -
protected boolean couldOfferApplyToOrder(Offer offer,
Order order,
DiscreteOrderItem discreteOrderItem)
offer - order - discreteOrderItem -
protected boolean couldOfferApplyToOrder(Offer offer,
Order order,
FulfillmentGroup fulfillmentGroup)
offer - order - fulfillmentGroup -
protected boolean couldOfferApplyToOrder(Offer offer,
Order order,
DiscreteOrderItem discreteOrderItem,
FulfillmentGroup fulfillmentGroup)
offer - order - discreteOrderItem - fulfillmentGroup -
protected java.lang.Boolean executeExpression(java.lang.String expression,
java.util.Map<java.lang.String,java.lang.Object> vars)
expression - vars -
public void applyFulfillmentGroupsOffers(java.util.List<FulfillmentGroup> fulfillmentGroups)
OfferService
applyFulfillmentGroupsOffers in interface OfferServicepublic void applyFulfillmentGroupOffers(FulfillmentGroup fulfillmentGroup)
OfferService
applyFulfillmentGroupOffers in interface OfferService
protected void applyAllFulfillmentGroupOffers(java.util.List<CandidateFulfillmentGroupOffer> fulfillmentGroupOffers,
FulfillmentGroup fulfillmentGroup)
fulfillmentGroupOffers - a sorted list of CandidateFulfillmentGroupOfferfulfillmentGroup - the FulfillmentGroup to apply the CandidateOrderOffersprotected void applyFulfillmentGroupOffer(CandidateFulfillmentGroupOffer fulfillmentGroupOffer)
fulfillmentGroupOffer - a CandidateFulfillmentGroupOffer to apply to an Orderpublic OfferCode lookupOfferCodeByCode(java.lang.String code)
OfferService
lookupOfferCodeByCode in interface OfferServicecode - the code
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||