diff --git a/AssetManager.Data/MarketKlineCache.cs b/AssetManager.Data/MarketKlineCache.cs index cd75e72..dc7de21 100644 --- a/AssetManager.Data/MarketKlineCache.cs +++ b/AssetManager.Data/MarketKlineCache.cs @@ -41,31 +41,31 @@ public class MarketKlineCache /// /// 开盘价 /// - [SugarColumn(DecimalDigits = 8, IsNullable = false)] + [SugarColumn(DecimalDigits = 8, Length = 18, IsNullable = false)] public decimal Open { get; set; } /// /// 最高价 /// - [SugarColumn(DecimalDigits = 8, IsNullable = false)] + [SugarColumn(DecimalDigits = 8, Length = 18, IsNullable = false)] public decimal High { get; set; } /// /// 最低价 /// - [SugarColumn(DecimalDigits = 8, IsNullable = false)] + [SugarColumn(DecimalDigits = 8, Length = 18, IsNullable = false)] public decimal Low { get; set; } /// /// 收盘价 /// - [SugarColumn(DecimalDigits = 8, IsNullable = false)] + [SugarColumn(DecimalDigits = 8, Length = 18, IsNullable = false)] public decimal Close { get; set; } /// /// 成交量 /// - [SugarColumn(DecimalDigits = 8, IsNullable = true)] + [SugarColumn(DecimalDigits = 8, Length = 24, IsNullable = true)] public decimal? Volume { get; set; } /// diff --git a/AssetManager.Data/MarketPriceCache.cs b/AssetManager.Data/MarketPriceCache.cs index 4fd676d..f61ba11 100644 --- a/AssetManager.Data/MarketPriceCache.cs +++ b/AssetManager.Data/MarketPriceCache.cs @@ -29,13 +29,13 @@ public class MarketPriceCache /// /// 最新价格 /// - [SugarColumn(Length = 20, DecimalDigits = 8, IsNullable = false)] + [SugarColumn(DecimalDigits = 8, Length = 18, IsNullable = false)] public decimal Price { get; set; } /// /// 前收盘价(计算当日涨跌幅用) /// - [SugarColumn(Length = 20, DecimalDigits = 8, IsNullable = true)] + [SugarColumn(DecimalDigits = 8, Length = 18, IsNullable = true)] public decimal? PreviousClose { get; set; } /// diff --git a/AssetManager.Infrastructure/Services/MarketDataService.cs b/AssetManager.Infrastructure/Services/MarketDataService.cs index 87102ac..b440fa4 100644 --- a/AssetManager.Infrastructure/Services/MarketDataService.cs +++ b/AssetManager.Infrastructure/Services/MarketDataService.cs @@ -342,14 +342,14 @@ public class MarketDataService : IMarketDataService source = "Tiingo"; } - // 写入缓存,保留8位小数,强制转换为12位整数+8位小数,避免MySql字段溢出 + // 写入缓存,保留8位小数 var cacheEntity = new MarketPriceCache { Id = cacheKey, Symbol = symbol.ToUpper(), AssetType = assetType.ToUpper(), - Price = Math.Round(Math.Clamp(response.Price, 0, 999999999999.99999999m), 8), - PreviousClose = response.PreviousClose > 0 ? Math.Round(Math.Clamp(response.PreviousClose.Value, 0, 999999999999.99999999m), 8) : null, + Price = Math.Round(response.Price, 8), + PreviousClose = response.PreviousClose > 0 ? Math.Round(response.PreviousClose.Value, 8) : null, Source = source, FetchedAt = DateTime.Now, ExpiredAt = GetCacheExpirationTime(assetType)