AssetManager.API/AssetManager.Data/Strategy.cs
OpenClaw Agent 1977dd609d fix: 请求收益曲线时自动回填历史数据
- GetNavHistoryAsync现在会自动检查是否有历史数据
- 无历史数据时自动调用BackfillNavHistoryInternalAsync
- 拆分内部回填方法,避免重复验证权限
2026-03-13 16:21:31 +00:00

71 lines
1.8 KiB
C#
Executable File

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; }
}