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; }
///
/// 成交价格