fix: 修复交易时间解析逻辑

- TransactionDate 和 TransactionTime 正确组合
- 移除 else if 改为独立 if,支持日期+时间
- CreateTransactionAsync 返回实际交易时间而非当前时间
This commit is contained in:
OpenClaw Agent 2026-03-24 08:53:47 +00:00
parent 7bf687323d
commit 0579e2f47a

View File

@ -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,