package com.fdkankan.platform.order.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.platform.order.entity.DownloadOrder;
import com.fdkankan.platform.user.request.RequestDownloadOrder;
import com.fdkankan.platform.user.request.RequestIncrementOrder;
import com.fdkankan.platform.user.request.RequestOrder;
import com.fdkankan.platform.user.vo.ResponseDownloadOrder;
import com.fdkankan.platform.user.vo.ResponseOrder;

import java.math.BigDecimal;
import java.util.HashMap;

/**
 * <p>
 * 下载次数订单表 服务类
 * </p>
 *
 * @author 
 * @since 2021-12-24
 */
public interface IDownloadOrderService extends IService<DownloadOrder> {

    ResponseDownloadOrder saveByOrderParam(Long userId, RequestIncrementOrder order, BigDecimal price);

    Page<ResponseDownloadOrder> getPageByParam(Long userId, RequestDownloadOrder param);

    DownloadOrder getByOrderSn(String orderSn);

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

    ResponseDownloadOrder getVoById(Long downloadOrderId);

    HashMap<String, Integer> getCountBySceneNum();

    Page<ResponseOrder> getOrderList(RequestOrder param);

    ResponseOrder findByOrderId(Long orderId);

    String export(RequestOrder param);
}
