134 lines
2.8 KiB
C#
134 lines
2.8 KiB
C#
namespace OrpaonVision.Model.Production;
|
||
|
||
/// <summary>
|
||
/// 运行状态转换日志模型。
|
||
/// </summary>
|
||
public sealed class RunStateTransitionLogModel
|
||
{
|
||
/// <summary>
|
||
/// 日志ID。
|
||
/// </summary>
|
||
public Guid LogId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 产品会话ID。
|
||
/// </summary>
|
||
public Guid SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 层级会话ID(可选)。
|
||
/// </summary>
|
||
public Guid? LayerSessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 转换前状态。
|
||
/// </summary>
|
||
public string FromState { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 转换后状态。
|
||
/// </summary>
|
||
public string ToState { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 触发事件。
|
||
/// </summary>
|
||
public string TriggerEvent { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 转换原因。
|
||
/// </summary>
|
||
public string Reason { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 转换类型。
|
||
/// </summary>
|
||
public RunStateTransitionType TransitionType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作者ID。
|
||
/// </summary>
|
||
public string? OperatorId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作者姓名。
|
||
/// </summary>
|
||
public string? OperatorName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否人工干预。
|
||
/// </summary>
|
||
public bool IsManualIntervention { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联数据(JSON格式)。
|
||
/// </summary>
|
||
public string? ContextJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// 截图路径(可选)。
|
||
/// </summary>
|
||
public string? ScreenshotPath { get; set; }
|
||
|
||
/// <summary>
|
||
/// 转换时间(UTC)。
|
||
/// </summary>
|
||
public DateTime TransitionAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 处理耗时(毫秒)。
|
||
/// </summary>
|
||
public long ProcessingTimeMs { get; set; }
|
||
|
||
/// <summary>
|
||
/// 错误信息(如果有)。
|
||
/// </summary>
|
||
public string? ErrorMessage { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建时间(UTC)。
|
||
/// </summary>
|
||
public DateTime CreatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人。
|
||
/// </summary>
|
||
public string CreatedBy { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 运行状态转换类型。
|
||
/// </summary>
|
||
public enum RunStateTransitionType
|
||
{
|
||
/// <summary>
|
||
/// 自动转换。
|
||
/// </summary>
|
||
Automatic = 0,
|
||
|
||
/// <summary>
|
||
/// 人工干预。
|
||
/// </summary>
|
||
Manual = 1,
|
||
|
||
/// <summary>
|
||
/// 系统触发。
|
||
/// </summary>
|
||
System = 2,
|
||
|
||
/// <summary>
|
||
/// 错误恢复。
|
||
/// </summary>
|
||
ErrorRecovery = 3,
|
||
|
||
/// <summary>
|
||
/// 超时处理。
|
||
/// </summary>
|
||
Timeout = 4,
|
||
|
||
/// <summary>
|
||
/// 异常终止。
|
||
/// </summary>
|
||
Exception = 5
|
||
}
|