package com.crm.ucard.service;

import com.crm.rely.backend.core.dto.base.BaseResultDto;
import com.crm.rely.backend.core.dto.ucard.*;
import com.crm.rely.backend.core.entity.ucard.*;
import com.crm.rely.backend.exception.ServiceException;

import java.util.List;

public interface UcardExportService {

    /**
     * 用户信息导出
     */
    BaseResultDto<List<MerchantUserDto>> merchantUserListExport(MerchantUserPageEntity entity) throws ServiceException;
    /**
     * kyc认证列表导出
     */
    BaseResultDto<List<CardKycStatusDto>> merchantKycListExport(CardKycStatusPageEntity entity) throws ServiceException;
    /**
     * 卡片申请列表导出
     */
    BaseResultDto<List<CardApplyDto>> cardApplyListExport(CardApplyPageEntity entity) throws ServiceException;
    /**
     * 卡片列表导出
     */
    BaseResultDto<List<UcardCardDto>> cardListExport(CardPageEntity entity) throws ServiceException;
    /**
     * 交易记录列表导出
     */
    BaseResultDto<List<CardTransacOrderDto>> cardTransacRecordExport(CardTransacOrderPageEntity request) throws ServiceException;
    /**
     * 充值记录导出
     */
    BaseResultDto<List<CardRechargeOrderDto>> cardRechargeListExport(CardRechargePageEntity entity) throws ServiceException;
    /**
     * 钱包余额记录列表导出
     */
    BaseResultDto<List<CardWalletRecordDto>> cardWalletRecordExport(CardWalletRecordPageEntity request) throws ServiceException;
    /**
     * 操作记录列表导出
     */
    BaseResultDto<List<CardOperateDto>> cardOperateRecordExport(CardOperatePageEntity entity) throws ServiceException;
    /**
     * 速汇订单列表导出
     */
    BaseResultDto<List<GlobalOrderDto>> globalOrderListExport(GlobalOrderPageEntity entity) throws ServiceException;
    /**
     * 3ds列表导出
     */
    BaseResultDto<List<Card3dsTransactionDto>> card3dsTransactionListExport(Card3dsTransactionPageEntity entity) throws ServiceException;
    /**
     * 卡扣款列表导出
     */
    BaseResultDto<List<CardWithdrawDto>> cardWithdrawListExport(CardWithdrawPageEntity entity) throws ServiceException;
    /**
     * 加密货币交易分页列表导出
     */
    BaseResultDto<List<UcardWalletDepositTransactionDto>> encryptedWalletTransactionListExport(UcardWalletDepositTransactionPageEntity entity) throws ServiceException;

}
