From 0579e2f47afb2eae62302b388d1aa44e02afb158 Mon Sep 17 00:00:00 2001 From: OpenClaw Agent Date: Tue, 24 Mar 2026 08:53:47 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BA=A4=E6=98=93?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=A7=A3=E6=9E=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - TransactionDate 和 TransactionTime 正确组合 - 移除 else if 改为独立 if,支持日期+时间 - CreateTransactionAsync 返回实际交易时间而非当前时间 --- AssetManager.Services/PortfolioService.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/AssetManager.Services/PortfolioService.cs b/AssetManager.Services/PortfolioService.cs index 3e05d7f..963c5da 100755 --- a/AssetManager.Services/PortfolioService.cs +++ b/AssetManager.Services/PortfolioService.cs @@ -657,15 +657,15 @@ public class PortfolioService : IPortfolioService { if (DateTime.TryParse(request.TransactionDate, out var parsedDate)) { - // 如果只传了日期,时间部分默认用当前时间 - transactionTime = parsedDate.Date + DateTime.Now.TimeOfDay; + transactionTime = parsedDate.Date; } } - else if (!string.IsNullOrEmpty(request.TransactionTime)) + // 组合时间部分 + if (!string.IsNullOrEmpty(request.TransactionTime)) { - if (DateTime.TryParse(request.TransactionTime, out var parsedTime)) + if (TimeSpan.TryParse(request.TransactionTime, out var parsedTime)) { - transactionTime = parsedTime; + transactionTime = transactionTime.Date + parsedTime; } } @@ -821,12 +821,16 @@ public class PortfolioService : IPortfolioService request.PortfolioId = portfolioId; var response = await CreateTransaction(request, userId); + // 使用实际交易时间 + var transactionDate = request.TransactionDate ?? DateTime.Now.ToString("yyyy-MM-dd"); + var transactionTime = request.TransactionTime ?? DateTime.Now.ToString("HH:mm"); + return new TransactionItem { Id = response.Id, PortfolioId = portfolioId, - Date = DateTime.Now.ToString("yyyy-MM-dd"), - Time = DateTime.Now.ToString("HH:mm:ss"), + Date = transactionDate, + Time = transactionTime, Type = request.Type, StockCode = request.StockCode, Amount = response.TotalAmount,