59 lines
2.3 KiB
C#
59 lines
2.3 KiB
C#
using AssetManager.Models.DTOs;
|
||
|
||
namespace AssetManager.Infrastructure.Services;
|
||
|
||
/// <summary>
|
||
/// 市场数据服务接口
|
||
/// </summary>
|
||
public interface IMarketDataService
|
||
{
|
||
/// <summary>
|
||
/// 获取实时价格(自动根据资产类型路由到对应数据源)
|
||
/// </summary>
|
||
/// <param name="symbol">标的代码</param>
|
||
/// <param name="assetType">资产类型(Stock/Crypto)</param>
|
||
/// <returns>价格信息</returns>
|
||
Task<MarketPriceResponse> GetPriceAsync(string symbol, string assetType);
|
||
|
||
/// <summary>
|
||
/// 获取历史数据(自动根据资产类型路由到对应数据源)
|
||
/// </summary>
|
||
/// <param name="symbol">标的代码</param>
|
||
/// <param name="assetType">资产类型(Stock/Crypto)</param>
|
||
/// <param name="timeframe">时间周期</param>
|
||
/// <param name="limit">数据点数量</param>
|
||
/// <returns>历史数据列表</returns>
|
||
Task<List<MarketDataResponse>> GetHistoricalDataAsync(string symbol, string assetType, string timeframe, int limit);
|
||
|
||
/// <summary>
|
||
/// 获取股票实时价格
|
||
/// </summary>
|
||
/// <param name="symbol">股票代码</param>
|
||
/// <returns>股票价格信息</returns>
|
||
Task<MarketPriceResponse> GetStockPriceAsync(string symbol);
|
||
|
||
/// <summary>
|
||
/// 获取加密货币实时价格
|
||
/// </summary>
|
||
/// <param name="symbol">加密货币代码</param>
|
||
/// <returns>加密货币价格信息</returns>
|
||
Task<MarketPriceResponse> GetCryptoPriceAsync(string symbol);
|
||
|
||
/// <summary>
|
||
/// 获取股票历史数据
|
||
/// </summary>
|
||
/// <param name="symbol">股票代码</param>
|
||
/// <param name="timeframe">时间周期</param>
|
||
/// <param name="limit">数据点数量</param>
|
||
/// <returns>历史数据列表</returns>
|
||
Task<List<MarketDataResponse>> GetStockHistoricalDataAsync(string symbol, string timeframe, int limit);
|
||
|
||
/// <summary>
|
||
/// 获取加密货币历史数据
|
||
/// </summary>
|
||
/// <param name="symbol">加密货币代码</param>
|
||
/// <param name="timeframe">时间周期</param>
|
||
/// <param name="limit">数据点数量</param>
|
||
/// <returns>历史数据列表</returns>
|
||
Task<List<MarketDataResponse>> GetCryptoHistoricalDataAsync(string symbol, string timeframe, int limit);
|
||
} |