package com.jxy.marketall.mapper;

import com.jxy.common.datasource.annotation.BTCDB;
import com.jxy.marketall.dto.*;
import com.jxy.marketall.vo.QueryVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

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

/**
 * @Description TODO
 * @Date 2022/8/30 17:47
 * @Author 杜懿
 */
@BTCDB
public interface BTC2Mapper {

    /** 112服务器 4418端口数据库 */

    public List<DateBigDecimalDto> getListByTableAndField(@Param("table") String table, @Param("field") String field);

    public List<DateBigDecimalDto> getProfitRateList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getFeesList(@Param("vo") QueryVo vo);

    public List<AddressDto> getAddressList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getVolumeList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> geteaVolumeList(@Param("vo") QueryVo vo);

    public List<SoprDto> getSoprList(@Param("vo") QueryVo vo);

    public List<CoinDayDesDto> getCDDList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getVDDList(@Param("vo") QueryVo vo);

    public List<ASOLDto> getAsolList(@Param("vo") QueryVo vo);

    public List<DormancyDto> getDormancyList(@Param("vo") QueryVo vo);

    public List<SOAGDto> getSoagList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getCsupplyList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getSumCsupplyList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getSumCddList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getSumEaCddList(@Param("vo") QueryVo vo);

    public List<LiveLinessDto> getLiveLinessList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getRealizedProfitList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getRealizedLossList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalsDto> getRealizedProfitAndLossList();

    public List<DateBigDecimalDto> getRplRateList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getMarketCapList(@Param("vo") QueryVo vo);

    public List<RealizedCapDto> getRealizedCapList(@Param("vo") QueryVo vo);

    public List<RCapAndMCapDto> getRealizedCapAndMarketCapList(@Param("vo") QueryVo vo);

    public List<DataDto> getMVRVList(@Param("vo") QueryVo vo);

    public List<TermHoldermvrvDto> getLthMVRVList(@Param("vo") QueryVo vo);

    public List<TermHoldermvrvDto> getSthMVRVList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getNuplList(@Param("vo") QueryVo vo);

    @MapKey("year")
    public Map<Integer, YearMaDto> getMintusdYearAvg();

    public List<DateBigDecimalDto> getMintusdList(@Param("vo") QueryVo vo);

    //todo  表格分页
    //public IPage<> getBigAmountVoutByPage(PageVo vo);

    public List<DateBigDecimalDto> getUnrealizedProfitList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getUnrealizedLossList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalsDto> getLthNuplList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalsDto> getSthNuplList(@Param("vo") QueryVo vo);

    public List<PriceDataDto> getPriceList(@Param("vo") QueryVo vo);

    public List<PriceSMADto> getPriceBigDecimalList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getMinerAddressList(@Param("vo") QueryVo vo);

    public List<DateBigDecimalDto> getMinerBalanceList(@Param("vo") QueryVo vo);
}
