Class DefaultTravelCommerceUpdateCartEntryStrategy
java.lang.Object
de.hybris.platform.commerceservices.order.impl.AbstractCommerceCartStrategy
de.hybris.platform.commerceservices.order.impl.DefaultCommerceUpdateCartEntryStrategy
de.hybris.platform.travelservices.order.impl.DefaultTravelCommerceUpdateCartEntryStrategy
- All Implemented Interfaces:
de.hybris.platform.commerceservices.order.CommerceUpdateCartEntryStrategy
public class DefaultTravelCommerceUpdateCartEntryStrategy
extends de.hybris.platform.commerceservices.order.impl.DefaultCommerceUpdateCartEntryStrategy
Extension of DefaultCommerceUpdateCartEntryStrategy to add functionality specific to travel, such as adding amendment
tracking status to order entries
-
Field Summary
Fields inherited from class de.hybris.platform.commerceservices.order.impl.AbstractCommerceCartStrategy
DEFAULT_FORCE_IN_STOCK_MAX_QUANTITY, forceInStockMaxQuantity -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected BookingServiceprotected CommerceCartModificationmodifyEntry(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long actualAllowedQuantityChange, long newQuantity, Integer maxOrderQuantity) protected CommerceCartModificationremoveNewEntryFromCart(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long newQuantity, de.hybris.platform.servicelayer.model.ModelService modelService) voidsetBookingService(BookingService bookingService) protected voidupdateAmendmentStatus(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, Long entryNewQuantity) This method updates AmendStatus and active flag of the entry as follows:protected CommerceCartModificationupdateEntry(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long actualAllowedQuantityChange, long newQuantity, Integer maxOrderQuantity, long entryNewQuantity, de.hybris.platform.servicelayer.model.ModelService modelService) Methods inherited from class de.hybris.platform.commerceservices.order.impl.DefaultCommerceUpdateCartEntryStrategy
afterUpdateCartEntry, beforeUpdateCartEntry, getCommerceUpdateCartEntryHooks, getConfigurationService, getEntryMergeStrategy, mergeEntries, setCommerceUpdateCartEntryHooks, setConfigurationService, setEntryMergeStrategy, updatePointOfServiceForCartEntry, updateQuantityForCartEntry, updateToShippingModeForCartEntry, validateEntryBeforeModification, validateEntryBeforeSetShippingModeMethods inherited from class de.hybris.platform.commerceservices.order.impl.AbstractCommerceCartStrategy
checkCartLevel, getAllowedCartAdjustmentForProduct, getAvailableStockLevel, getBaseStoreService, getCartEntryDao, getCartService, getCommerceCartCalculationStrategy, getCommerceStockService, getEntryForNumber, getEntryForProductAndPointOfService, getEntryOrderChecker, getForceInStockMaxQuantity, getModelService, getProductService, isMaxOrderQuantitySet, isOrderEntryUpdatable, isStockLevelSufficient, normalizeEntryNumbers, setBaseStoreService, setCartEntryDao, setCartService, setCommerceCartCalculationStrategy, setCommerceStockService, setEntryOrderChecker, setForceInStockMaxQuantity, setModelService, setProductService
-
Constructor Details
-
DefaultTravelCommerceUpdateCartEntryStrategy
public DefaultTravelCommerceUpdateCartEntryStrategy()
-
-
Method Details
-
modifyEntry
protected CommerceCartModification modifyEntry(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long actualAllowedQuantityChange, long newQuantity, Integer maxOrderQuantity) - Overrides:
modifyEntryin classde.hybris.platform.commerceservices.order.impl.DefaultCommerceUpdateCartEntryStrategy
-
updateEntry
protected CommerceCartModification updateEntry(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long actualAllowedQuantityChange, long newQuantity, Integer maxOrderQuantity, long entryNewQuantity, de.hybris.platform.servicelayer.model.ModelService modelService) -
updateAmendmentStatus
protected void updateAmendmentStatus(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, Long entryNewQuantity) This method updates AmendStatus and active flag of the entry as follows:1. entryNewQuantity == 0 ? set active flag to false : set active flag to true
2. If AmendStatus == SAME --> set AmendStatus to CHANGED
3. If AmendStatus == CHANGED --> find a relevant entry in original order and then:
3a. if entryNewQuantity == originalEntryQuantity --> set AmendStatus to SAME
3b. if entryNewQuantity != originalEntryQuantity --> keep AmendStatus as CHANGED
- Parameters:
cartModel-entryToUpdate-entryNewQuantity-
-
removeNewEntryFromCart
protected CommerceCartModification removeNewEntryFromCart(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long newQuantity, de.hybris.platform.servicelayer.model.ModelService modelService) -
getBookingService
- Returns:
- the bookingService
-
setBookingService
- Parameters:
bookingService- the bookingService to set
-