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)