From ba16aebdba6c25751eec9a2378ec92b6f7006943 Mon Sep 17 00:00:00 2001 From: 12975 <1297598740@qq.com> Date: Thu, 29 Jan 2026 22:16:55 +0800 Subject: [PATCH] 345 --- internal/service/ai_bookkeeping_service.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/internal/service/ai_bookkeeping_service.go b/internal/service/ai_bookkeeping_service.go index da80719..960c027 100644 --- a/internal/service/ai_bookkeeping_service.go +++ b/internal/service/ai_bookkeeping_service.go @@ -1438,8 +1438,10 @@ func (s *AIBookkeepingService) GetSession(sessionID string) (*AISession, bool) { // FinancialContext 用户财务上下文,供 AI 综合分析 type FinancialContext struct { // 账户信息 - TotalBalance float64 `json:"total_balance"` // 总余额 - AccountSummary []AccountBrief `json:"account_summary"` // 账户摘要 + TotalBalance float64 `json:"total_balance"` // 净资产 (资产 - 负债) + TotalAssets float64 `json:"total_assets"` // 总资产 + TotalLiabilities float64 `json:"total_liabilities"` // 总负债 + AccountSummary []AccountBrief `json:"account_summary"` // 账户摘要 // 最近消费 Last30DaysSpend float64 `json:"last_30_days_spend"` // 近30天支出 @@ -1500,6 +1502,16 @@ func (s *AIBookkeepingService) GetUserFinancialContext(ctx context.Context, user if err == nil { for _, acc := range accounts { fc.TotalBalance += acc.Balance + + // 根据余额正负判断资产/负债 + // 余额 >= 0 计入资产 + // 余额 < 0 计入负债(取绝对值) + if acc.Balance >= 0 { + fc.TotalAssets += acc.Balance + } else { + fc.TotalLiabilities += -acc.Balance + } + fc.AccountSummary = append(fc.AccountSummary, AccountBrief{ Name: acc.Name, Balance: acc.Balance,