@Service(value="blAppeasementStrategy") public class AppeasementStrategyImpl extends Object implements AppeasementStrategy
Modifier and Type | Field and Description |
---|---|
protected AppeasementAdjustmentDao |
appeasementAdjustmentDao |
protected AppeasementFulfillmentAdjustmentDao |
appeasementFulfillmentAdjustmentDao |
protected static org.apache.commons.logging.Log |
LOG |
Constructor and Description |
---|
AppeasementStrategyImpl() |
Modifier and Type | Method and Description |
---|---|
long |
applyDifferenceToProratedAppeasement(FulfillmentOrderItem foi,
long numApplicationsNeeded,
org.broadleafcommerce.common.money.Money unitAmount) |
protected org.broadleafcommerce.common.money.Money |
calculateFulfillmentAmount(FulfillmentOrder fulfillmentOrder) |
org.broadleafcommerce.common.money.Money |
calculateFulfillmentAmountSum(List<FulfillmentOrder> fulfillmentOrders) |
protected org.broadleafcommerce.common.money.Money |
calculateItemAmount(FulfillmentOrderItem foi) |
org.broadleafcommerce.common.money.Money |
calculateItemAmountSum(List<FulfillmentOrderItem> fois) |
protected long |
countNumberOfUnits(org.broadleafcommerce.common.money.Money difference) |
void |
distributeAppeasementAcrossItems(String reason,
List<FulfillmentOrderItem> fois,
org.broadleafcommerce.common.money.Money totalAppeasement) |
void |
distributeAppeasementPercentageAcrossItems(String reason,
List<FulfillmentOrderItem> fois,
BigDecimal percentage) |
protected org.broadleafcommerce.common.money.Money |
distributeAppeasementToFulfillmentOrders(String reason,
List<FulfillmentOrder> fulfillmentOrders,
BigDecimal totalAppeasement,
BigDecimal totalFulfillment)
Distributes the fulfillment appeasement to the individual fulfillment orders via
AppeasementFulfillmentAdjustment s
By default, pro-rates total fulfillment appeasement across the fulfillment orders based on relative amount |
protected org.broadleafcommerce.common.money.Money |
distributeAppeasementToItems(String reason,
List<FulfillmentOrderItem> fois,
BigDecimal totalAppeasement,
BigDecimal totalAllItems)
Distributes the order appeasement to the individual fulfillment order items via
AppeasementAdjustment s
By default, pro-rates total appeasement across the items based on relative amount |
void |
distributeAppeasementWithFulfillmentOverrides(String reason,
Map<org.broadleafcommerce.core.order.domain.FulfillmentGroup,org.broadleafcommerce.common.money.Money> fulfillmentOverrideMap) |
void |
distributeAppeasementWithPriceOverrideItems(String reason,
Map<FulfillmentOrderItem,org.broadleafcommerce.common.money.Money> priceOverrideMap) |
void |
distributeFulfillmentAppeasement(String reason,
List<FulfillmentOrder> fulfillmentOrders,
org.broadleafcommerce.common.money.Money totalFulfillmentAppeasement) |
protected void |
fixAppeasementAdjustmentRoundingIssues(List<FulfillmentOrderItem> fois,
org.broadleafcommerce.common.money.Money totalAppeasement,
org.broadleafcommerce.common.money.Money totalAppeasementAdjustmentDistributed)
It is possible due to rounding that the appeasement adjustments do not match the
total appeasement.
|
protected void |
fixFulfillmentAppeasementRoundingIssues(List<FulfillmentOrder> fulfillmentOrders,
org.broadleafcommerce.common.money.Money totalAppeasement,
org.broadleafcommerce.common.money.Money totalAppeasementAdjustmentDistributed)
It is possible due to rounding that the appeasement fulfillment adjustments do not match the
total fulfillment appeasement.
|
org.broadleafcommerce.common.money.Money |
getUnitAmount(org.broadleafcommerce.common.money.Money difference)
Returns the unit amount (e.g.
|
List<FulfillmentOrderItem> |
getValidAppeasementItems(FulfillmentOrder fulfillmentOrder)
Returns valid appeasement items for a fulfillment order.
|
List<FulfillmentOrderItem> |
getValidAppeasementItems(OMSOrder order)
Returns valid appeasement items for an order.
|
List<FulfillmentOrder> |
getValidAppeasementOrders(OMSFulfillmentGroup fulfillmentGroup) |
List<FulfillmentOrder> |
getValidAppeasementOrders(OMSOrder order) |
protected boolean |
isFulfillmentOrderItemReturned(FulfillmentOrderItem fulfillmentOrderItem) |
protected void |
validateFulfillmentOrderItems(List<FulfillmentOrderItem> fois)
Validates that the fulfillment order items passed in are applicable for an adjustment.
|
protected void |
validateFulfillmentOrders(List<FulfillmentOrder> fulfillmentOrders)
Validates that the fulfillment orders passed in are applicable for an adjustment.
|
protected static final org.apache.commons.logging.Log LOG
protected AppeasementAdjustmentDao appeasementAdjustmentDao
protected AppeasementFulfillmentAdjustmentDao appeasementFulfillmentAdjustmentDao
public List<FulfillmentOrder> getValidAppeasementOrders(OMSOrder order)
getValidAppeasementOrders
in interface AppeasementStrategy
public List<FulfillmentOrder> getValidAppeasementOrders(OMSFulfillmentGroup fulfillmentGroup)
getValidAppeasementOrders
in interface AppeasementStrategy
public List<FulfillmentOrderItem> getValidAppeasementItems(FulfillmentOrder fulfillmentOrder)
getValidAppeasementItems
in interface AppeasementStrategy
fulfillmentOrder
- public List<FulfillmentOrderItem> getValidAppeasementItems(OMSOrder order)
getValidAppeasementItems
in interface AppeasementStrategy
order
- protected boolean isFulfillmentOrderItemReturned(FulfillmentOrderItem fulfillmentOrderItem)
public void distributeAppeasementWithFulfillmentOverrides(String reason, Map<org.broadleafcommerce.core.order.domain.FulfillmentGroup,org.broadleafcommerce.common.money.Money> fulfillmentOverrideMap)
distributeAppeasementWithFulfillmentOverrides
in interface AppeasementStrategy
public void distributeFulfillmentAppeasement(String reason, List<FulfillmentOrder> fulfillmentOrders, org.broadleafcommerce.common.money.Money totalFulfillmentAppeasement)
distributeFulfillmentAppeasement
in interface AppeasementStrategy
public void distributeAppeasementPercentageAcrossItems(String reason, List<FulfillmentOrderItem> fois, BigDecimal percentage)
distributeAppeasementPercentageAcrossItems
in interface AppeasementStrategy
public void distributeAppeasementAcrossItems(String reason, List<FulfillmentOrderItem> fois, org.broadleafcommerce.common.money.Money totalAppeasement)
distributeAppeasementAcrossItems
in interface AppeasementStrategy
public void distributeAppeasementWithPriceOverrideItems(String reason, Map<FulfillmentOrderItem,org.broadleafcommerce.common.money.Money> priceOverrideMap)
distributeAppeasementWithPriceOverrideItems
in interface AppeasementStrategy
protected void validateFulfillmentOrders(List<FulfillmentOrder> fulfillmentOrders)
fois
- protected void validateFulfillmentOrderItems(List<FulfillmentOrderItem> fois)
fois
- public org.broadleafcommerce.common.money.Money calculateFulfillmentAmountSum(List<FulfillmentOrder> fulfillmentOrders)
calculateFulfillmentAmountSum
in interface AppeasementStrategy
protected org.broadleafcommerce.common.money.Money calculateFulfillmentAmount(FulfillmentOrder fulfillmentOrder)
public org.broadleafcommerce.common.money.Money calculateItemAmountSum(List<FulfillmentOrderItem> fois)
calculateItemAmountSum
in interface AppeasementStrategy
protected org.broadleafcommerce.common.money.Money calculateItemAmount(FulfillmentOrderItem foi)
protected org.broadleafcommerce.common.money.Money distributeAppeasementToFulfillmentOrders(String reason, List<FulfillmentOrder> fulfillmentOrders, BigDecimal totalAppeasement, BigDecimal totalFulfillment)
AppeasementFulfillmentAdjustment
s
By default, pro-rates total fulfillment appeasement across the fulfillment orders based on relative amountreason
- fulfillmentOrders
- totalAppeasement
- totalFulfillment
- protected org.broadleafcommerce.common.money.Money distributeAppeasementToItems(String reason, List<FulfillmentOrderItem> fois, BigDecimal totalAppeasement, BigDecimal totalAllItems)
AppeasementAdjustment
s
By default, pro-rates total appeasement across the items based on relative amountreason
- fois
- totalAppeasement
- totalAllItems
- protected void fixFulfillmentAppeasementRoundingIssues(List<FulfillmentOrder> fulfillmentOrders, org.broadleafcommerce.common.money.Money totalAppeasement, org.broadleafcommerce.common.money.Money totalAppeasementAdjustmentDistributed)
fulfillmentOrders
- totalAppeasement
- totalAppeasementAdjustmentDistributed
- protected void fixAppeasementAdjustmentRoundingIssues(List<FulfillmentOrderItem> fois, org.broadleafcommerce.common.money.Money totalAppeasement, org.broadleafcommerce.common.money.Money totalAppeasementAdjustmentDistributed)
fois
- totalAppeasement
- totalAppeasementAdjustmentDistributed
- protected long countNumberOfUnits(org.broadleafcommerce.common.money.Money difference)
public org.broadleafcommerce.common.money.Money getUnitAmount(org.broadleafcommerce.common.money.Money difference)
difference
- public long applyDifferenceToProratedAppeasement(FulfillmentOrderItem foi, long numApplicationsNeeded, org.broadleafcommerce.common.money.Money unitAmount)
Copyright © 2018. All rights reserved.