This commit is contained in:
2026-04-06 22:38:23 +08:00
parent 71e099ca8e
commit d554e9e659
10 changed files with 1225 additions and 0 deletions

View File

@@ -0,0 +1,133 @@
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
}