Interface CouponService
-
- All Known Subinterfaces:
CustomerCouponService
- All Known Implementing Classes:
DefaultCouponService
,DefaultCustomerCouponService
public interface CouponService
Coupon service interface. To be used by facade to query/manage the coupon lifecycle
-
-
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 codejava.util.Optional<AbstractCouponModel>
getValidatedCouponForCode(java.lang.String couponCode)
Returns Coupon Model object for a given coupon code with validationCouponResponse
redeemCoupon(java.lang.String couponCode, CartModel cart)
Redeem the coupon code associated with the cart.CouponResponse
redeemCoupon(java.lang.String couponCode, OrderModel order)
Create a coupon redemption instance for the coupon redeemed for the order.void
releaseCouponCode(java.lang.String couponCode, AbstractOrderModel order)
Release the coupon code from given cart.CouponResponse
validateCouponCode(java.lang.String couponCode, UserModel user)
Validate if providedcouponCode
is valid.CouponResponse
verifyCouponCode(java.lang.String couponCode, AbstractOrderModel order)
Verify if providedcouponCode
is valid.
-
-
-
Method Detail
-
releaseCouponCode
void releaseCouponCode(java.lang.String couponCode, AbstractOrderModel order)
Release the coupon code from given cart.- Parameters:
couponCode
- Coupon code to releaseorder
-AbstractOrderModel
to release the coupon from
-
verifyCouponCode
CouponResponse verifyCouponCode(java.lang.String couponCode, AbstractOrderModel order)
Verify if providedcouponCode
is valid.- Parameters:
couponCode
- coupon code to validateorder
- order for which coupon should be validated- Returns:
- CouponResponse containing true if coupon code is valid or false if not.
-
validateCouponCode
CouponResponse validateCouponCode(java.lang.String couponCode, UserModel user)
Validate if providedcouponCode
is valid.- Parameters:
couponCode
- coupon code to validateuser
- user for which coupon should be validated- Returns:
- CouponResponse containing true if coupon code is valid or false if not.
-
getCouponForCode
java.util.Optional<AbstractCouponModel> getCouponForCode(java.lang.String couponCode)
Returns Coupon Model object for a given coupon code- 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
-
redeemCoupon
CouponResponse redeemCoupon(java.lang.String couponCode, CartModel cart)
Redeem the coupon code associated with the cart.- Parameters:
couponCode
- Coupon code to redeemcart
-CartModel
to redeem coupon- Returns:
- CouponResponse containing true if coupon code has been redeem at cart or false if not.
-
redeemCoupon
CouponResponse redeemCoupon(java.lang.String couponCode, OrderModel order)
Create a coupon redemption instance for the coupon redeemed for the order.- Parameters:
couponCode
- Coupon code to redeemorder
-OrderModel
to redeem coupon- Returns:
- CouponResponse containing true when coupon redemption instance has been created if a coupon has been redeemed successfully.
-
-