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.Param;

import java.util.List;

@BTCDB
public interface BTCRealTimeMapper {
    //BTC链上指标及BTC链上指标2.0的实时数据表均在4419

    /**
     * BTC 已实现盈利交易占比实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<DateBigDecimalDto> getRealTimeProfitRateList(@Param("vo") QueryVo vo);

    /**
     * BTC 交易费实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<DateBigDecimalDto> getRealTimeFeesList(@Param("vo") QueryVo vo);

    /**
     * BTC 地址（活跃地址数、发送地址数、接收地址数、新增地址数..）实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<AddressDto> getRealTimeAddressList(@Param("vo") QueryVo vo);

    /**
     * BTC 交易量实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<DateBigDecimalDto> getRealTimeVolumeList(@Param("vo") QueryVo vo);

    /**
     * BTC 交易量(消除找零)实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<DateBigDecimalDto> getRealTimeeaVolumeList(@Param("vo") QueryVo vo);

    /**
     * BTC 已花费输出盈利比(包含sopr、easopr、asopr、lthsopr、sthsopr)实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<SoprDto> getRealTimeSoprList(@Param("vo") QueryVo vo);

    /**
     * BTC 已花费输出平均寿命(包含asol、eaasol、)实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<ASOLDto> getRealTimeAsolList(@Param("vo") QueryVo vo);

    /**
     * BTC 已花费输出平均寿命(包含asol、eaasol、)实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<DormancyDto> getRealTimeDormancyList(@Param("vo") QueryVo vo);

    /**
     * BTC 币天销毁量(包含cdd、eacdd  sacdd返回但不用展示)实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<CoinDayDesDto> getRealTimeCDDList(@Param("vo") QueryVo vo);

    /**
     * BTC 币天销毁量年龄分布(包含day1、day7、day30、day60、day90、day180、day365、day730)实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<SOAGDto> getRealTimeSoagList(@Param("vo") QueryVo vo);

    //
    /**
     * BTC 币价实时数据 当日或者300条
     * @param vo
     * @return
     */
    public List<DateBigDecimalDto> getRealTimePriceList(@Param("vo") QueryVo vo);

}
