diff --git a/AssetManager.Data/InitDatabase.cs b/AssetManager.Data/InitDatabase.cs deleted file mode 100644 index 28f10f9..0000000 --- a/AssetManager.Data/InitDatabase.cs +++ /dev/null @@ -1,46 +0,0 @@ -using SqlSugar; - -namespace AssetManager.Data; - -public class InitDatabase -{ - public static void Main() - { - var db = SqlSugarConfig.GetSqlSugarClient(); - - try - { - db.CodeFirst.InitTables( - typeof(User), - typeof(Strategy), - typeof(Portfolio) - ); - - Console.WriteLine("数据库表创建成功!"); - - InsertSampleData(db); - } - catch (Exception ex) - { - Console.WriteLine($"数据库初始化失败: {ex.Message}"); - } - } - - private static void InsertSampleData(ISqlSugarClient db) - { - var now = DateTime.Now; - - db.Insertable(new Strategy - { - Id = "hfea", - UserId = "system", - Alias = "HFEA 风险平价策略", - Type = "risk_parity", - Config = "{\"cycle\": \"quarter\", \"threshold\": 0.05, \"allocation\": {\"UPRO\": 0.6, \"TMF\": 0.4}}\n", - CreatedAt = now, - UpdatedAt = now - }).ExecuteCommand(); - - Console.WriteLine("示例数据插入成功!"); - } -} diff --git a/AssetManager.Data/Portfolio.cs b/AssetManager.Data/Portfolio.cs index cdeade3..1b6b68d 100644 --- a/AssetManager.Data/Portfolio.cs +++ b/AssetManager.Data/Portfolio.cs @@ -17,13 +17,13 @@ public class Portfolio /// /// 所属用户ID /// - [SugarColumn(ColumnName = "user_id")] + [SugarColumn(ColumnName = "user_id", IndexGroupNameList = new string[] { "idx_user_id" })] public string UserId { get; set; } /// /// 所用策略ID /// - [SugarColumn(ColumnName = "strategy_id")] + [SugarColumn(ColumnName = "strategy_id", IndexGroupNameList = new string[] { "idx_strategy_id" })] public string StrategyId { get; set; } /// @@ -84,7 +84,7 @@ public class Position /// /// 所属组合ID /// - [SugarColumn(ColumnName = "portfolio_id")] + [SugarColumn(ColumnName = "portfolio_id", IndexGroupNameList = new string[] { "idx_portfolio_id" })] public string PortfolioId { get; set; } /// @@ -99,11 +99,17 @@ public class Position [SugarColumn(ColumnName = "stock_name", Length = 200)] public string StockName { get; set; } + /// + /// 资产类型 (Stock/Crypto) + /// + [SugarColumn(ColumnName = "asset_type", Length = 20)] + public string AssetType { get; set; } + /// /// 持有数量 /// - [SugarColumn(ColumnName = "shares")] - public int Shares { get; set; } + [SugarColumn(ColumnName = "shares", ColumnDataType = "decimal(18,8)")] + public decimal Shares { get; set; } /// /// 持仓均价 @@ -145,7 +151,7 @@ public class Transaction /// /// 所属组合ID /// - [SugarColumn(ColumnName = "portfolio_id")] + [SugarColumn(ColumnName = "portfolio_id", IndexGroupNameList = new string[] { "idx_portfolio_id" })] public string PortfolioId { get; set; } /// @@ -160,6 +166,12 @@ public class Transaction [SugarColumn(ColumnName = "stock_code", Length = 50)] public string StockCode { get; set; } + /// + /// 资产类型 (Stock/Crypto) + /// + [SugarColumn(ColumnName = "asset_type", Length = 20)] + public string AssetType { get; set; } + /// /// 交易标题 (如: 定期定投) /// @@ -169,8 +181,8 @@ public class Transaction /// /// 交易数量 /// - [SugarColumn(ColumnName = "amount")] - public int Amount { get; set; } + [SugarColumn(ColumnName = "amount", ColumnDataType = "decimal(18,8)")] + public decimal Amount { get; set; } /// /// 成交价格