namespace Admin.NET.Plugin.AiDOP.Entity.DataPlatform;
/// 在途关注表:热回读按业务键窄轮询 165。
[SugarTable("ado_mdp_hot_watch", "MDP 热回读在途关注")]
public class AdoMdpHotWatch
{
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]
public long Id { get; set; }
[SugarColumn(ColumnName = "tenant_id")]
public long TenantId { get; set; }
/// PICK_BILL / WORK_ORDER / PUR_ORDER / DAY_PLAN / ASN
[SugarColumn(ColumnName = "biz_type", Length = 40)]
public string BizType { get; set; } = "";
[SugarColumn(ColumnName = "biz_key", Length = 100)]
public string BizKey { get; set; } = "";
[SugarColumn(ColumnName = "domain", Length = 40)]
public string Domain { get; set; } = "8010";
/// JSON 数组:要盯的 165 表名
[SugarColumn(ColumnName = "watch_tables", ColumnDataType = "text", IsNullable = true)]
public string? WatchTables { get; set; }
[SugarColumn(ColumnName = "enroll_time")]
public DateTime EnrollTime { get; set; }
[SugarColumn(ColumnName = "last_poll_time", IsNullable = true)]
public DateTime? LastPollTime { get; set; }
[SugarColumn(ColumnName = "last_snapshot_hash", Length = 64, IsNullable = true)]
public string? LastSnapshotHash { get; set; }
[SugarColumn(ColumnName = "poll_interval_sec")]
public int PollIntervalSec { get; set; } = 5;
/// 0 在途 / 1 已终结
[SugarColumn(ColumnName = "status")]
public int Status { get; set; }
[SugarColumn(ColumnName = "terminate_time", IsNullable = true)]
public DateTime? TerminateTime { get; set; }
[SugarColumn(ColumnName = "terminate_reason", Length = 200, IsNullable = true)]
public string? TerminateReason { get; set; }
[SugarColumn(ColumnName = "create_time")]
public DateTime CreateTime { get; set; }
[SugarColumn(ColumnName = "update_time")]
public DateTime UpdateTime { get; set; }
}