package com.fdkankan.ucenter.service;

import com.fdkankan.ucenter.common.PageInfo;
import com.fdkankan.ucenter.entity.IncrementAutoOrder;
import com.fdkankan.ucenter.entity.IncrementOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.ucenter.entity.IncrementType;
import com.fdkankan.ucenter.entity.User;
import com.fdkankan.ucenter.pay.paypal.sdk.AutoPaypalVo;
import com.fdkankan.ucenter.vo.request.DownNumParam;
import com.fdkankan.ucenter.vo.request.IncrementOrderParam;
import com.fdkankan.ucenter.vo.request.OrderParam;
import com.fdkankan.ucenter.vo.response.GoodsSkuVo;
import org.joda.time.DateTime;

import java.math.BigDecimal;

/**
 * <p>
 * 增值权益订单表 服务类
 * </p>
 *
 * @author 
 * @since 2022-07-13
 */
public interface IIncrementOrderService extends IService<IncrementOrder> {

    PageInfo pageList(IncrementOrderParam param);

    GoodsSkuVo getDownloadPrice(OrderParam param);

    IncrementOrder insertIncrementOrder(User user, DownNumParam param, IncrementType incrementType);

     DateTime getDateTime(IncrementType incrementType, Integer userIncrementId,Integer count) ;

     IncrementOrder getByOrderSn(String orderSn);

    boolean paySuccessIncrementOrder(String orderSn, String tradeNo, int paymentTypeName);

    IncrementOrder getByOrderSnNoPay(String orderSn);

    void addNewOrderByOrder(IncrementAutoOrder incrementAutoOrder, AutoPaypalVo order);
}
