package com.ai.da.service; import com.ai.da.mapper.primary.entity.ProductCoupons; import com.ai.da.mapper.primary.entity.SubscriptionInfo; import com.ai.da.model.dto.CreateCouponDTO; import com.ai.da.model.dto.ProductPurchaseDTO; import com.ai.da.model.dto.QueryCouponsPageDTO; import com.ai.da.model.vo.CheckCouponsVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.stripe.exception.StripeException; import jakarta.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; public interface StripeService { String pay(ProductPurchaseDTO productPurchaseDTO, HttpServletRequest request); Boolean notify(HttpServletRequest request); SubscriptionInfo getLatestSubscriptionInfoByAccountId(Long accountId); void checkOrderStatus(String orderNo); List getSubscriptionIds(String name, String userEmail) throws StripeException; void cancelSubscriptionTemp(String subscriptionId); boolean sendEmail(String subscriptionId, String type, String orderNo); String getLanguage(String language, String country, String type); // void subscriptionReminder(); String createSubscriptionTemp(String name, String email); // Map getIp(HttpServletRequest request); String getStackTrace(Exception e, int maxLines); String createCoupon(CreateCouponDTO createCouponDTO); CheckCouponsVO checkProductCoupon(String promotionCode, Long price); ProductCoupons updateCouponsInfo(Long id, String paidCommission, String cooperator, String remark, Long startTime); ProductCoupons getProductCoupon(String promotionCode, String promotionCodeId); String retrieveCoupon(String couponId); String retrievePromotionCode(String promotionCode); IPage getAllCoupons(QueryCouponsPageDTO queryCouponsPageDTO); void deleteCoupon(Long id); }