Interface CouponManagementService
-
- All Known Implementing Classes:
DefaultCouponManagementService
public interface CouponManagementServiceProvides 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 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.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
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-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
CouponResponse validateCouponCode(java.lang.String couponCode, UserModel user)
Verify if given coupon code is valid.- 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.
-
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-CartModelto 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-OrderModelto redeem coupon- Returns:
- CouponResponse
-
-