diff --git a/AssetManager.Infrastructure/Services/MarketDataService.cs b/AssetManager.Infrastructure/Services/MarketDataService.cs
index 32f6035..d5e5206 100755
--- a/AssetManager.Infrastructure/Services/MarketDataService.cs
+++ b/AssetManager.Infrastructure/Services/MarketDataService.cs
@@ -6,7 +6,11 @@ using Microsoft.Extensions.Logging;
namespace AssetManager.Infrastructure.Services;
///
-/// 市场数据服务实现(组合模式:Yahoo财经优先,腾讯财经降级,Tiingo最终降级,OKX处理加密货币)
+/// 市场数据服务实现(组合模式)
+/// 数据源优先级:
+/// - 实时价格:Yahoo → 腾讯 → Tiingo
+/// - 历史K线:Yahoo → Tiingo(腾讯历史接口已废弃)
+/// - 加密货币:OKX
///
public class MarketDataService : IMarketDataService
{
@@ -135,7 +139,8 @@ public class MarketDataService : IMarketDataService
}
else
{
- // 股票:优先Yahoo财经,失败降级腾讯财经,最后降级 Tiingo
+ // 股票:优先Yahoo财经,失败降级 Tiingo
+ // 注:腾讯财经历史K线接口已废弃,不再作为降级数据源
try
{
response = await _yahooService.GetStockHistoricalDataAsync(symbol, timeframe, limit);
@@ -145,30 +150,14 @@ public class MarketDataService : IMarketDataService
}
else
{
- throw new Exception("Yahoo财经返回空数据");
+ throw new InvalidOperationException("Yahoo财经返回空数据");
}
}
catch (Exception ex)
{
- _logger.LogWarning(ex, "Yahoo财经历史数据获取失败,降级使用 腾讯: {Symbol}", symbol);
- try
- {
- response = await _tencentService.GetStockHistoricalDataAsync(symbol, timeframe, limit);
- if (response.Count > 0)
- {
- source = "Tencent";
- }
- else
- {
- throw new Exception("腾讯财经返回空数据");
- }
- }
- catch (Exception tencentEx)
- {
- _logger.LogWarning(tencentEx, "腾讯财经历史数据获取失败,降级使用 Tiingo: {Symbol}", symbol);
- response = await _tiingoService.GetStockHistoricalDataAsync(symbol, timeframe, limit);
- source = "Tiingo";
- }
+ _logger.LogWarning(ex, "Yahoo财经历史数据获取失败,降级使用 Tiingo: {Symbol}", symbol);
+ response = await _tiingoService.GetStockHistoricalDataAsync(symbol, timeframe, limit);
+ source = "Tiingo";
}
}
diff --git a/AssetManager.Infrastructure/Services/TencentMarketService.cs b/AssetManager.Infrastructure/Services/TencentMarketService.cs
index 8caaeee..c8d2d80 100644
--- a/AssetManager.Infrastructure/Services/TencentMarketService.cs
+++ b/AssetManager.Infrastructure/Services/TencentMarketService.cs
@@ -18,12 +18,16 @@ public interface ITencentMarketService
///
/// 获取股票历史K线数据
+ /// ⚠️ 注意:腾讯历史K线接口 (web.ifzq.gtimg.cn) 已废弃,此方法会抛出异常
///
+ [Obsolete("腾讯历史K线接口已废弃,请使用 Yahoo 或 Tiingo")]
Task> GetStockHistoricalDataAsync(string symbol, string timeframe, int limit);
}
///
-/// 腾讯财经市场数据服务实现(免费无限制,支持盘前盘后)
+/// 腾讯财经市场数据服务实现
+/// 实时价格接口 (qt.gtimg.cn) 正常可用
+/// 历史K线接口 (web.ifzq.gtimg.cn) 已废弃
///
public class TencentMarketService : ITencentMarketService
{