Class PromotableItemFactoryImpl
java.lang.Object
org.broadleafcommerce.core.offer.service.discount.domain.PromotableItemFactoryImpl
- All Implemented Interfaces:
PromotableItemFactory
@Service("blPromotableItemFactory")
public class PromotableItemFactoryImpl
extends Object
implements PromotableItemFactory
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected RoundingModeprotected Stringprotected Integerprotected static final org.apache.commons.logging.Logprotected final PromotableOfferUtilityprotected boolean -
Constructor Summary
ConstructorsConstructorDescriptionPromotableItemFactoryImpl(PromotableOfferUtility promotableOfferUtility) It is sometimes problematic to offer percentage-off offers with regards to rounding. -
Method Summary
Modifier and TypeMethodDescriptioncreatePromotableCandidateFulfillmentGroupOffer(PromotableFulfillmentGroup fulfillmentGroup, Offer offer) createPromotableCandidateItemOffer(PromotableOrder promotableOrder, Offer offer) createPromotableCandidateOrderOffer(PromotableOrder promotableOrder, Offer offer) createPromotableCandidateOrderOffer(PromotableOrder promotableOrder, Offer offer, org.broadleafcommerce.common.money.Money potentialSavings) createPromotableFulfillmentGroup(FulfillmentGroup fulfillmentGroup, PromotableOrder order) createPromotableFulfillmentGroupAdjustment(PromotableCandidateFulfillmentGroupOffer promotableCandidateFulfillmentGroupOffer, PromotableFulfillmentGroup fulfillmentGroup) createPromotableOrder(Order order, boolean includeOrderAndItemAdjustments) createPromotableOrderAdjustment(PromotableCandidateOrderOffer promotableCandidateOrderOffer, PromotableOrder order) createPromotableOrderAdjustment(PromotableCandidateOrderOffer promotableCandidateOrderOffer, PromotableOrder order, org.broadleafcommerce.common.money.Money adjustmentValue) createPromotableOrderItem(OrderItem orderItem, PromotableOrder order, boolean includeAdjustments) createPromotableOrderItemPriceDetail(PromotableOrderItem promotableOrderItem, int quantity) createPromotableOrderItemPriceDetailAdjustment(PromotableCandidateItemOffer promotableCandidateItemOffer, PromotableOrderItemPriceDetail orderItemPriceDetail) voidinit()It is sometimes problematic to offer percentage-off offers with regards to rounding.
-
Field Details
-
LOG
protected static final org.apache.commons.logging.Log LOG -
promotableOfferUtility
-
useQtyOnlyTierCalculation
@Value("${use.quantity.only.tier.calculation:false}") protected boolean useQtyOnlyTierCalculation -
itemOfferPercentRoundingScale
-
itemOfferPercentRoundingModeStr
-
itemOfferPercentRoundingMode
-
-
Constructor Details
-
PromotableItemFactoryImpl
It is sometimes problematic to offer percentage-off offers with regards to rounding. For example, consider an item that costs 9.99 and has a 50% promotion. To be precise, the offer value is 4.995, but this may be a strange value to display to the user depending on the currency being used.
-
-
Method Details
-
init
@PostConstruct public void init()It is sometimes problematic to offer percentage-off offers with regards to rounding. For example, consider an item that costs 9.99 and has a 50% promotion. To be precise, the offer value is 4.995, but this may be a strange value to display to the user depending on the currency being used. -
createPromotableOrder
- Specified by:
createPromotableOrderin interfacePromotableItemFactory
-
createPromotableCandidateOrderOffer
public PromotableCandidateOrderOffer createPromotableCandidateOrderOffer(PromotableOrder promotableOrder, Offer offer) - Specified by:
createPromotableCandidateOrderOfferin interfacePromotableItemFactory
-
createPromotableCandidateOrderOffer
public PromotableCandidateOrderOffer createPromotableCandidateOrderOffer(PromotableOrder promotableOrder, Offer offer, org.broadleafcommerce.common.money.Money potentialSavings) - Specified by:
createPromotableCandidateOrderOfferin interfacePromotableItemFactory
-
createPromotableOrderAdjustment
public PromotableOrderAdjustment createPromotableOrderAdjustment(PromotableCandidateOrderOffer promotableCandidateOrderOffer, PromotableOrder order) - Specified by:
createPromotableOrderAdjustmentin interfacePromotableItemFactory
-
createPromotableOrderAdjustment
public PromotableOrderAdjustment createPromotableOrderAdjustment(PromotableCandidateOrderOffer promotableCandidateOrderOffer, PromotableOrder order, org.broadleafcommerce.common.money.Money adjustmentValue) - Specified by:
createPromotableOrderAdjustmentin interfacePromotableItemFactory
-
createPromotableOrderItem
public PromotableOrderItem createPromotableOrderItem(OrderItem orderItem, PromotableOrder order, boolean includeAdjustments) - Specified by:
createPromotableOrderItemin interfacePromotableItemFactory
-
createPromotableOrderItemPriceDetail
public PromotableOrderItemPriceDetail createPromotableOrderItemPriceDetail(PromotableOrderItem promotableOrderItem, int quantity) - Specified by:
createPromotableOrderItemPriceDetailin interfacePromotableItemFactory
-
createPromotableCandidateItemOffer
public PromotableCandidateItemOffer createPromotableCandidateItemOffer(PromotableOrder promotableOrder, Offer offer) - Specified by:
createPromotableCandidateItemOfferin interfacePromotableItemFactory
-
createPromotableOrderItemPriceDetailAdjustment
public PromotableOrderItemPriceDetailAdjustment createPromotableOrderItemPriceDetailAdjustment(PromotableCandidateItemOffer promotableCandidateItemOffer, PromotableOrderItemPriceDetail orderItemPriceDetail) - Specified by:
createPromotableOrderItemPriceDetailAdjustmentin interfacePromotableItemFactory
-
createPromotableFulfillmentGroup
public PromotableFulfillmentGroup createPromotableFulfillmentGroup(FulfillmentGroup fulfillmentGroup, PromotableOrder order) - Specified by:
createPromotableFulfillmentGroupin interfacePromotableItemFactory
-
createPromotableCandidateFulfillmentGroupOffer
public PromotableCandidateFulfillmentGroupOffer createPromotableCandidateFulfillmentGroupOffer(PromotableFulfillmentGroup fulfillmentGroup, Offer offer) - Specified by:
createPromotableCandidateFulfillmentGroupOfferin interfacePromotableItemFactory
-
createPromotableFulfillmentGroupAdjustment
public PromotableFulfillmentGroupAdjustment createPromotableFulfillmentGroupAdjustment(PromotableCandidateFulfillmentGroupOffer promotableCandidateFulfillmentGroupOffer, PromotableFulfillmentGroup fulfillmentGroup) - Specified by:
createPromotableFulfillmentGroupAdjustmentin interfacePromotableItemFactory
-