AssetManager.API/AssetManager.Data/Strategy.cs
niannian zheng b5499ef7fe refactor: 将模型属性改为可为空类型以增强健壮性
- 修改ApiResponse、RiskParityConfig等DTO类的属性为可空类型
- 在策略计算器中添加空值检查逻辑
- 更新服务层代码处理可能的空值情况
- 添加发布配置文件FolderProfile.pubxml
2026-03-06 15:51:59 +08:00

71 lines
1.8 KiB
C#

using SqlSugar;
namespace AssetManager.Data;
/// <summary>
/// 用户策略实例表
/// </summary>
[SugarTable("strategies")]
public class Strategy
{
/// <summary>
/// 主键
/// </summary>
[SugarColumn(IsPrimaryKey = true, IsIdentity = false)]
public string? Id { get; set; }
/// <summary>
/// 所属用户ID
/// </summary>
[SugarColumn(ColumnName = "user_id", Length = 100, IndexGroupNameList = new string[] { "idx_user_id" })]
public string? UserId { get; set; }
/// <summary>
/// 策略别名/名称
/// </summary>
[SugarColumn(ColumnName = "alias", Length = 200)]
public string? Alias { get; set; }
/// <summary>
/// 策略类型 (如: ma_trend, chandelier_exit, risk_parity)
/// </summary>
[SugarColumn(ColumnName = "type", Length = 50)]
public string? Type { get; set; }
/// <summary>
/// 策略描述
/// </summary>
[SugarColumn(ColumnName = "description", Length = 500)]
public string? Description { get; set; }
/// <summary>
/// 策略标签 (逗号分隔的字符串)
/// </summary>
[SugarColumn(ColumnName = "tags")]
public string? Tags { get; set; }
/// <summary>
/// 风险等级
/// </summary>
[SugarColumn(ColumnName = "risk_level", Length = 20)]
public string? RiskLevel { get; set; }
/// <summary>
/// 策略配置项(周期,阈值,资产配比)
/// </summary>
[SugarColumn(ColumnName = "config", IsJson = true)]
public string? Config { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnName = "created_at")]
public DateTime CreatedAt { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[SugarColumn(ColumnName = "updated_at")]
public DateTime UpdatedAt { get; set; }
}