package com.liquidnet.service.adam.service.feign.fin;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.liquidnet.service.account.wallet.dto.*;
import com.liquidnet.service.account.wallet.vo.WalletAccountInfoVo;
import com.liquidnet.service.account.wallet.vo.WalletDashboardInfoVo;
import com.liquidnet.service.account.wallet.vo.WalletTransactionInfoVo;
import com.liquidnet.service.adam.dto.base.AdamResultDto;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;
import java.util.Map;

public interface IAdamFeignAccountService {

    AdamResultDto<Map<String, List<WalletDashboardInfoVo>>> dashboardShow(WalletDashboardParam param);

    WalletEditResult edit(WalletEditParam param);

    AdamResultDto<Page<WalletAccountInfoVo>> listPage(WalletQueryParam param);

    AdamResultDto<List<WalletAccountInfoVo>> list(WalletQueryParam param);

    AdamResultDto<WalletAccountInfoVo> getWallet(String userId, String finWalletNo);

    AdamResultDto<WalletRegisterResult> register(String userId, String userName, String walletName, String currency);

    /**
     * 推送交易信息,返回交易id, null交易不成功
     */
    AdamResultDto<String> transaction(WalletTransactionParam param);

    AdamResultDto<List<WalletTransactionInfoVo>> transactionQuery(WalletTransactionQueryParam param);

}
