AssetManager.API/AssetManager.Infrastructure/Services/IMarketDataService.cs
niannian zheng 8e75b894ad feat(市场数据): 添加Alpaca市场数据服务实现
添加IMarketDataService接口及实现,支持获取股票和加密货币的实时价格及历史数据
添加MarketDTO定义市场价格和历史数据结构
添加Alpaca.Markets和Microsoft.Extensions.Logging.Abstractions依赖包
在Program.cs中注册MarketDataService服务
2026-02-28 18:49:05 +08:00

41 lines
1.4 KiB
C#

using AssetManager.Models.DTOs;
namespace AssetManager.Infrastructure.Services;
/// <summary>
/// 市场数据服务接口
/// </summary>
public interface IMarketDataService
{
/// <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);
}