diff --git a/AssetManager.Infrastructure/Services/MarketDataService.cs b/AssetManager.Infrastructure/Services/MarketDataService.cs index 3e3d87f..4b1d40e 100644 --- a/AssetManager.Infrastructure/Services/MarketDataService.cs +++ b/AssetManager.Infrastructure/Services/MarketDataService.cs @@ -476,20 +476,11 @@ public class MarketDataService : IMarketDataService /// private DateTime GetCacheExpirationTime(string assetType) { - if (assetType.Equals("crypto", StringComparison.OrdinalIgnoreCase)) + return assetType.ToLower() switch { - return DateTime.Now.AddMinutes(1); // 加密货币7*24小时交易,缓存1分钟 - } - - // 美股交易时段:9:30-16:00 美国东部时间 = 14:30-21:00 UTC(夏令时)/15:30-22:00 UTC(冬令时) - // 简化处理:UTC时间14:00-22:00视为美股交易时段 - var nowUtc = DateTime.UtcNow; - if (nowUtc.Hour >= 14 && nowUtc.Hour < 22 && nowUtc.DayOfWeek is not DayOfWeek.Saturday and not DayOfWeek.Sunday) - { - return DateTime.Now.AddMinutes(15); // 交易时段缓存15分钟 - } - - return DateTime.Now.AddHours(24); // 非交易时段(盘前/盘后/周末)缓存24小时,节省API调用 + "crypto" => DateTime.Now.AddMinutes(1), // 加密货币缓存1分钟 + _ => DateTime.Now.AddMinutes(5) // 股票固定缓存5分钟 + }; } }