namespace OrpaonVision.Model.Annotation;
///
/// 标注任务模型(对应需求文档中的 mdl_annotation_task)。
///
/// 说明:
/// - 为保持 Model 层轻量与独立,枚举字段暂以 int 存储;
/// - 业务层可在 Core 中将其映射为强类型枚举。
///
public sealed class AnnotationTaskModel
{
///
/// 主键。
///
public long Id { get; set; }
///
/// 任务编码(唯一)。
///
public string TaskCode { get; set; } = string.Empty;
///
/// 任务名称。
///
public string TaskName { get; set; } = string.Empty;
///
/// 平台类型。
/// 当前版本仅支持 CVAT,建议固定为 1。
///
public int PlatformType { get; set; } = 1;
///
/// 外部平台任务 ID(CVAT TaskId)。
///
public string? ExternalTaskId { get; set; }
///
/// 数据集 ID。
///
public long DatasetId { get; set; }
///
/// 标签集 ID。
///
public long LabelSetId { get; set; }
///
/// 指派标注人员。
///
public string? AssignedTo { get; set; }
///
/// 标注任务状态。
/// 参考:Pending/InProgress/Completed/Recovered/Failed。
///
public int Status { get; set; }
///
/// 进度百分比(0~100)。
///
public decimal? ProgressPercent { get; set; }
///
/// 同步状态。
/// 参考:None/Syncing/Succeeded/Failed。
///
public int SyncStatus { get; set; }
///
/// 创建时间。
///
public DateTime CreatedAt { get; set; }
///
/// 创建人。
///
public string? CreatedBy { get; set; }
///
/// 更新时间。
///
public DateTime? UpdatedAt { get; set; }
///
/// 更新人。
///
public string? UpdatedBy { get; set; }
}