Interface CouponManagementService
-
- All Known Implementing Classes:
DefaultCouponManagementService
public interface CouponManagementService
Provides methods for managing coupons, like verifying if coupon code is valid or finding all coupons.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Optional<AbstractCouponModel>
getCouponForCode(java.lang.String couponCode)
Returns Coupon Model object for a given coupon code without validationjava.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
.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
java.util.Optional<AbstractCouponModel> getCouponForCode(java.lang.String couponCode)
Returns Coupon Model object for a given coupon code without validation- Parameters:
couponCode
- Coupon code to get coupon details for- Returns:
AbstractCouponModel
-
getValidatedCouponForCode
java.util.Optional<AbstractCouponModel> getValidatedCouponForCode(java.lang.String couponCode)
Returns Coupon Model object for a given coupon code with validation- Parameters:
couponCode
- Coupon code to get coupon details for- Returns:
AbstractCouponModel
-
verifyCouponCode
CouponResponse verifyCouponCode(java.lang.String couponCode, AbstractOrderModel abstractOrder)
Verify if given coupon code is valid.- 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
CouponResponse validateCouponCode(java.lang.String couponCode, UserModel user)
Verify if given coupon code is valid.- 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.
-
releaseCouponCode
void releaseCouponCode(java.lang.String couponCode)
Releases coupon provided incouponCode
.- Parameters:
couponCode
- Coupon code to release
-
redeem
boolean redeem(java.lang.String couponCode, CartModel cart)
Redeems coupon (called when coupon code is applied in cart). throws CouponServiceException when verify coupon code fails- 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
CouponResponse redeem(java.lang.String couponCode, OrderModel order)
Redeems coupon (called when order is placed).- Parameters:
couponCode
- Coupon code to redeemorder
-OrderModel
to redeem coupon- Returns:
- CouponResponse
-
-