Interface FulfillmentGroupOfferProcessor

All Superinterfaces:
BaseProcessor, OrderOfferProcessor
All Known Implementing Classes:
FulfillmentGroupOfferProcessorImpl

public interface FulfillmentGroupOfferProcessor extends OrderOfferProcessor
Author:
jfischer
  • Method Details

    • filterFulfillmentGroupLevelOffer

      void filterFulfillmentGroupLevelOffer(PromotableOrder order, List<PromotableCandidateFulfillmentGroupOffer> qualifiedFGOffers, Offer offer)
    • calculateFulfillmentGroupTotal

      void calculateFulfillmentGroupTotal(PromotableOrder order)
    • applyAllFulfillmentGroupOffers

      boolean applyAllFulfillmentGroupOffers(List<PromotableCandidateFulfillmentGroupOffer> qualifiedFGOffers, PromotableOrder 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. OrderAdjustments are create on the Order for each applied CandidateOrderOffer. An offer with stackable equals false cannot be applied to an Order that already contains an OrderAdjustment. An offer with combinable equals false cannot be applied to the Order if the Order already contains an OrderAdjustment.
      Parameters:
      qualifiedFGOffers - a sorted list of CandidateOrderOffer
      order - the Order to apply the CandidateOrderOffers
      Returns:
      true if order offer applied; otherwise false
    • removeTrailingNotCombinableFulfillmentGroupOffers

      List<FulfillmentGroupOfferPotential> removeTrailingNotCombinableFulfillmentGroupOffers(List<FulfillmentGroupOfferPotential> candidateOffers)