package com.fdkankan.ucenter.service;

import com.fdkankan.ucenter.entity.IncrementAutoOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.ucenter.httpClient.vo.PayOrderVo;
import com.fdkankan.ucenter.pay.paypal.sdk.AutoPaypalVo;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 
 * @since 2023-11-09
 */
public interface IIncrementAutoOrderService extends IService<IncrementAutoOrder> {

    void addOrder(Long userId, Integer incrementTypeId, Long incrementId, String orderSn,String agentKey);

    IncrementAutoOrder getByIncrementId(Long incrementId);

    void subOrder(String orderSn,String subscriptionId);

    IncrementAutoOrder getBySubId(String subscriptionId);

    void paySuccess(IncrementAutoOrder incrementAutoOrder, AutoPaypalVo order) throws Exception;

    void payError(IncrementAutoOrder incrementAutoOrder, AutoPaypalVo order);

    void subscriptionCancelled(IncrementAutoOrder incrementAutoOrder, AutoPaypalVo order);

    void setIncrementId(IncrementAutoOrder incrementAutoOrder, Long incrmentId);

    void delByIncrementId(Long incrementId);

    IncrementAutoOrder getByOrderSn(String orderSn);

    IncrementAutoOrder getDelOrder(String subscriptionOrderSn);

    void updateDelStatus(Integer id);
}
