47 lines
1.9 KiB
C#
47 lines
1.9 KiB
C#
using dy.net.model.dto;
|
|
using SqlSugar;
|
|
using AppStorageType = dy.net.model.dto.StorageType;
|
|
|
|
namespace dy.net.model.entity
|
|
{
|
|
[SugarTable(TableName = "storage_migration_task")]
|
|
public class StorageMigrationTask
|
|
{
|
|
[SugarColumn(IsPrimaryKey = true, Length = 50)]
|
|
public string Id { get; set; }
|
|
public StorageMigrationTaskStatus Status { get; set; }
|
|
[SugarColumn(IsNullable = true)]
|
|
public AppStorageType? TargetStorageType { get; set; }
|
|
public int Concurrency { get; set; } = 1;
|
|
public int TotalCount { get; set; }
|
|
public int PendingCount { get; set; }
|
|
public int SuccessCount { get; set; }
|
|
public int WarningCount { get; set; }
|
|
public int FailedCount { get; set; }
|
|
public int RemovedCount { get; set; }
|
|
public long TotalBytes { get; set; }
|
|
[SugarColumn(Length = 128)]
|
|
public string ConfigurationFingerprint { get; set; }
|
|
[SugarColumn(Length = 200, IsNullable = true)]
|
|
public string CurrentVideoId { get; set; }
|
|
[SugarColumn(Length = 2000, IsNullable = true)]
|
|
public string CurrentFile { get; set; }
|
|
[SugarColumn(ColumnDataType = "TEXT", Length = -1, IsNullable = true)]
|
|
public string ErrorMessage { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
[SugarColumn(IsNullable = true)]
|
|
public DateTime? StartedAt { get; set; }
|
|
public DateTime UpdatedAt { get; set; }
|
|
[SugarColumn(IsNullable = true)]
|
|
public DateTime? CompletedAt { get; set; }
|
|
[SugarColumn(IsNullable = true)]
|
|
public DateTime? CleanedAt { get; set; }
|
|
[SugarColumn(IsNullable = true)]
|
|
public DateTime? RolledBackAt { get; set; }
|
|
/// <summary>
|
|
/// 已归档的终态任务不再出现在系统配置和任务中心,但保留条目用于审计及失败记录处理。
|
|
/// </summary>
|
|
public bool IsArchived { get; set; }
|
|
}
|
|
}
|