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 void
createCouponRedemption(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 ModelService
getModelService()
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 validationboolean
redeem(java.lang.String couponCode, CartModel cart)
Redeems coupon (called when coupon code is applied in cart).CouponResponse
redeem(java.lang.String couponCode, OrderModel order)
Redeems coupon (called when order is placed).void
releaseCouponCode(java.lang.String couponCode)
Releases coupon provided incouponCode
.void
setFindCouponStrategiesList(java.util.List<FindCouponStrategy> findCouponStrategiesList)
void
setModelService(ModelService modelService)
void
setRedemptionStrategyMap(java.util.Map<java.lang.String,CouponRedemptionStrategy> redemptionStrategyMap)
CouponResponse
validateCouponCode(java.lang.String couponCode, UserModel user)
Verify if given coupon code is valid.CouponResponse
verifyCouponCode(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:CouponManagementService
Returns Coupon Model object for a given coupon code without validation- Specified by:
getCouponForCode
in 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:CouponManagementService
Returns Coupon Model object for a given coupon code with validation- Specified by:
getValidatedCouponForCode
in 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:CouponManagementService
Verify if given coupon code is valid.- Specified by:
verifyCouponCode
in interfaceCouponManagementService
- Parameters:
couponCode
- Coupon code to checkabstractOrder
-AbstractOrderModel
for which the coupon will be redeemed- Returns:
CouponResponse
containing 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:CouponManagementService
Verify if given coupon code is valid.- Specified by:
validateCouponCode
in interfaceCouponManagementService
- Parameters:
couponCode
- Coupon code to checkuser
-UserModel
for which the coupon will be redeemed- Returns:
CouponResponse
containing 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:CouponManagementService
Releases coupon provided incouponCode
.- Specified by:
releaseCouponCode
in interfaceCouponManagementService
- Parameters:
couponCode
- Coupon code to release
-
redeem
public boolean redeem(java.lang.String couponCode, CartModel cart)
Description copied from interface:CouponManagementService
Redeems coupon (called when coupon code is applied in cart). throws CouponServiceException when verify coupon code fails- Specified by:
redeem
in interfaceCouponManagementService
- Parameters:
couponCode
- Coupon code to redeemcart
-CartModel
to 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:CouponManagementService
Redeems coupon (called when order is placed).- Specified by:
redeem
in interfaceCouponManagementService
- Parameters:
couponCode
- Coupon code to redeemorder
-OrderModel
to 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)
-
-