diff --git a/AssetManager.API/Controllers/PortfolioController.cs b/AssetManager.API/Controllers/PortfolioController.cs
index 513e8e9..d6949e3 100755
--- a/AssetManager.API/Controllers/PortfolioController.cs
+++ b/AssetManager.API/Controllers/PortfolioController.cs
@@ -78,6 +78,23 @@ public class PortfolioController : ControllerBase
});
}
+ ///
+ /// 获取用户总资产
+ ///
+ [HttpGet("assets")]
+ public async Task>> GetTotalAssets()
+ {
+ var userId = GetCurrentUserId();
+ var totalAssets = await _portfolioFacade.GetTotalAssetsAsync(userId);
+
+ return Ok(new ApiResponse
+ {
+ code = Models.StatusCodes.Success,
+ data = totalAssets,
+ message = "success"
+ });
+ }
+
///
/// 获取投资组合详情
///
diff --git a/AssetManager.Services/IPortfolioFacade.cs b/AssetManager.Services/IPortfolioFacade.cs
index 72ffcb2..51f1945 100644
--- a/AssetManager.Services/IPortfolioFacade.cs
+++ b/AssetManager.Services/IPortfolioFacade.cs
@@ -56,4 +56,9 @@ public interface IPortfolioFacade
/// 回填净值历史
///
Task BackfillNavHistoryAsync(string portfolioId, string userId, bool force = false);
+
+ ///
+ /// 获取用户总资产
+ ///
+ Task GetTotalAssetsAsync(string userId);
}
diff --git a/AssetManager.Services/PortfolioFacade.cs b/AssetManager.Services/PortfolioFacade.cs
index c107d11..6b3809f 100644
--- a/AssetManager.Services/PortfolioFacade.cs
+++ b/AssetManager.Services/PortfolioFacade.cs
@@ -186,4 +186,13 @@ public class PortfolioFacade : IPortfolioFacade
return await _navService.BackfillNavHistoryAsync(portfolioId, userId, force);
}
+
+ ///
+ /// 获取用户总资产
+ ///
+ public async Task GetTotalAssetsAsync(string userId)
+ {
+ _logger.LogInformation("获取用户总资产: {UserId}", userId);
+ return await _portfolioService.GetTotalAssetsAsync(userId);
+ }
}