Class DefaultCouponManagementService
- java.lang.Object
-
- de.hybris.platform.couponservices.services.impl.DefaultCouponManagementService
-
- All Implemented Interfaces:
CouponManagementService
public class DefaultCouponManagementService extends java.lang.Object implements CouponManagementService
Default implementation ofCouponManagementService.
-
-
Constructor Summary
Constructors Constructor Description DefaultCouponManagementService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Optional<AbstractCouponModel>checkCouponRedeemability(AbstractCouponModel coupon, UserModel user, java.lang.String couponCode)protected java.util.Optional<AbstractCouponModel>checkRedeemability(AbstractCouponModel coupon, AbstractOrderModel order, java.lang.String couponCode)protected voidcreateCouponRedemption(java.lang.String couponCode, OrderModel order)protected java.util.Optional<AbstractCouponModel>findCoupon(java.lang.String couponCode, AbstractOrderModel order)protected java.util.Optional<AbstractCouponModel>findValidatedCoupon(java.lang.String couponCode, UserModel user)java.util.Optional<AbstractCouponModel>getCouponForCode(java.lang.String couponCode)Returns Coupon Model object for a given coupon code without validationprotected java.util.Optional<AbstractCouponModel>getCouponForCode(java.lang.String couponCode, java.util.function.Function<FindCouponStrategy,java.util.Optional<AbstractCouponModel>> findCouponFunction)protected java.util.List<FindCouponStrategy>getFindCouponStrategiesList()protected ModelServicegetModelService()protected java.util.Map<java.lang.String,CouponRedemptionStrategy>getRedemptionStrategyMap()java.util.Optional<AbstractCouponModel>getValidatedCouponForCode(java.lang.String couponCode)Returns Coupon Model object for a given coupon code with validationbooleanredeem(java.lang.String couponCode, CartModel cart)Redeems coupon (called when coupon code is applied in cart).CouponResponseredeem(java.lang.String couponCode, OrderModel order)Redeems coupon (called when order is placed).voidreleaseCouponCode(java.lang.String couponCode)Releases coupon provided incouponCode.voidsetFindCouponStrategiesList(java.util.List<FindCouponStrategy> findCouponStrategiesList)voidsetModelService(ModelService modelService)voidsetRedemptionStrategyMap(java.util.Map<java.lang.String,CouponRedemptionStrategy> redemptionStrategyMap)CouponResponsevalidateCouponCode(java.lang.String couponCode, UserModel user)Verify if given coupon code is valid.CouponResponseverifyCouponCode(java.lang.String couponCode, AbstractOrderModel abstractOrder)Verify if given coupon code is valid.
-
-
-
Method Detail
-
getCouponForCode
public java.util.Optional<AbstractCouponModel> getCouponForCode(java.lang.String couponCode)
Description copied from interface:CouponManagementServiceReturns Coupon Model object for a given coupon code without validation- Specified by:
getCouponForCodein interfaceCouponManagementService- Parameters:
couponCode- Coupon code to get coupon details for- Returns:
AbstractCouponModel
-
getValidatedCouponForCode
public java.util.Optional<AbstractCouponModel> getValidatedCouponForCode(java.lang.String couponCode)
Description copied from interface:CouponManagementServiceReturns Coupon Model object for a given coupon code with validation- Specified by:
getValidatedCouponForCodein interfaceCouponManagementService- Parameters:
couponCode- Coupon code to get coupon details for- Returns:
AbstractCouponModel
-
getCouponForCode
protected java.util.Optional<AbstractCouponModel> getCouponForCode(java.lang.String couponCode, java.util.function.Function<FindCouponStrategy,java.util.Optional<AbstractCouponModel>> findCouponFunction)
-
verifyCouponCode
public CouponResponse verifyCouponCode(java.lang.String couponCode, AbstractOrderModel abstractOrder)
Description copied from interface:CouponManagementServiceVerify if given coupon code is valid.- Specified by:
verifyCouponCodein interfaceCouponManagementService- Parameters:
couponCode- Coupon code to checkabstractOrder-AbstractOrderModelfor which the coupon will be redeemed- Returns:
CouponResponsecontaining true if coupon code is valid or false if not, including the message why it is not valid.
-
validateCouponCode
public CouponResponse validateCouponCode(java.lang.String couponCode, UserModel user)
Description copied from interface:CouponManagementServiceVerify if given coupon code is valid.- Specified by:
validateCouponCodein interfaceCouponManagementService- Parameters:
couponCode- Coupon code to checkuser-UserModelfor which the coupon will be redeemed- Returns:
CouponResponsecontaining true if coupon code is valid or false if not, including the message why it is not valid.
-
findCoupon
protected java.util.Optional<AbstractCouponModel> findCoupon(java.lang.String couponCode, AbstractOrderModel order)
-
findValidatedCoupon
protected java.util.Optional<AbstractCouponModel> findValidatedCoupon(java.lang.String couponCode, UserModel user)
-
checkRedeemability
protected java.util.Optional<AbstractCouponModel> checkRedeemability(AbstractCouponModel coupon, AbstractOrderModel order, java.lang.String couponCode)
-
checkCouponRedeemability
protected java.util.Optional<AbstractCouponModel> checkCouponRedeemability(AbstractCouponModel coupon, UserModel user, java.lang.String couponCode)
-
releaseCouponCode
public void releaseCouponCode(java.lang.String couponCode)
Description copied from interface:CouponManagementServiceReleases coupon provided incouponCode.- Specified by:
releaseCouponCodein interfaceCouponManagementService- Parameters:
couponCode- Coupon code to release
-
redeem
public boolean redeem(java.lang.String couponCode, CartModel cart)Description copied from interface:CouponManagementServiceRedeems coupon (called when coupon code is applied in cart). throws CouponServiceException when verify coupon code fails- Specified by:
redeemin interfaceCouponManagementService- Parameters:
couponCode- Coupon code to redeemcart-CartModelto redeem coupon- Returns:
- boolean true if coupon code could be redeemed at cart or false if not.
-
redeem
public CouponResponse redeem(java.lang.String couponCode, OrderModel order)
Description copied from interface:CouponManagementServiceRedeems coupon (called when order is placed).- Specified by:
redeemin interfaceCouponManagementService- Parameters:
couponCode- Coupon code to redeemorder-OrderModelto redeem coupon- Returns:
- CouponResponse
-
createCouponRedemption
protected void createCouponRedemption(java.lang.String couponCode, OrderModel order)
-
getModelService
protected ModelService getModelService()
-
setModelService
public void setModelService(ModelService modelService)
-
setRedemptionStrategyMap
public void setRedemptionStrategyMap(java.util.Map<java.lang.String,CouponRedemptionStrategy> redemptionStrategyMap)
-
getRedemptionStrategyMap
protected java.util.Map<java.lang.String,CouponRedemptionStrategy> getRedemptionStrategyMap()
-
getFindCouponStrategiesList
protected java.util.List<FindCouponStrategy> getFindCouponStrategiesList()
-
setFindCouponStrategiesList
public void setFindCouponStrategiesList(java.util.List<FindCouponStrategy> findCouponStrategiesList)
-
-