From 7bf687323dbe27e803b0671dbab56f7742649009 Mon Sep 17 00:00:00 2001 From: OpenClaw Agent Date: Tue, 24 Mar 2026 08:39:49 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BB=B7=E6=A0=BC=E8=8E=B7=E5=8F=96=E8=AF=A6?= =?UTF-8?q?=E7=BB=86=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 定位组合收益率显示为 0 的问题: - 记录每个股票的价格获取结果 - 记录价格字典查找情况 - 区分价格获取失败 vs 价格为 0 的情况 --- AssetManager.Services/PortfolioService.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/AssetManager.Services/PortfolioService.cs b/AssetManager.Services/PortfolioService.cs index f776cb5..3e05d7f 100755 --- a/AssetManager.Services/PortfolioService.cs +++ b/AssetManager.Services/PortfolioService.cs @@ -213,6 +213,11 @@ public class PortfolioService : IPortfolioService if (price != null) { priceDict[code] = price; + _logger.LogInformation("批量获取价格成功: {Code} -> Price={Price}, PreviousClose={PreviousClose}", code, price.Price, price.PreviousClose); + } + else + { + _logger.LogWarning("批量获取价格返回 null: {Code}", code); } } @@ -246,7 +251,16 @@ public class PortfolioService : IPortfolioService { currentPrice = priceResponse.Price; previousClose = priceResponse.PreviousClose > 0 ? priceResponse.PreviousClose : currentPrice; + _logger.LogInformation("组合 {PortfolioId} 持仓 {StockCode} 使用实时价格: {Price}", p.Id, pos.StockCode, currentPrice); } + else + { + _logger.LogWarning("组合 {PortfolioId} 持仓 {StockCode} 价格为 0,使用成本价", p.Id, pos.StockCode); + } + } + else + { + _logger.LogWarning("组合 {PortfolioId} 持仓 {StockCode} 未在价格字典中,使用成本价", p.Id, pos.StockCode); } decimal positionValue = pos.Shares * currentPrice;