Interface CouponService

    • Method Detail

      • releaseCouponCode

        void releaseCouponCode​(java.lang.String couponCode,
                               AbstractOrderModel order)
        Release the coupon code from given cart.
        Parameters:
        couponCode - Coupon code to release
        order - AbstractOrderModel to release the coupon from
      • verifyCouponCode

        CouponResponse verifyCouponCode​(java.lang.String couponCode,
                                        AbstractOrderModel order)
        Verify if provided couponCode is valid.
        Parameters:
        couponCode - coupon code to validate
        order - 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 provided couponCode is valid.
        Parameters:
        couponCode - coupon code to validate
        user - 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 redeem
        cart - 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 redeem
        order - OrderModel to redeem coupon
        Returns:
        CouponResponse containing true when coupon redemption instance has been created if a coupon has been redeemed successfully.