using SqlSugar; using XF.Domain.Repository; namespace Hotline.BatchTask; /// /// 系统任务 /// public class Apptask : CreationEntity { /// /// 任务名称 /// public string TaskName { get; set; } = string.Empty; /// /// 任务描述 /// public string TaskDesc { get; set; } = string.Empty; /// /// 任务类型 /// public ETaskType TaskType { get; set; } [Navigate(NavigateType.OneToMany, nameof(ApptaskItem.ApptaskId))] public List ApptaskItems { get; set; } } public class ApptaskItem { /// /// 任务id /// public string ApptaskId { get; set; } /// /// 业务id(冗余) /// public string BusinessId { get; set; } /// /// 任务类型(冗余) /// public ETaskType TaskType { get; set; } /// /// 任务状态 /// public ETaskStatus TaskStatus { get; set; } /// /// 任务执行时间 /// public DateTime? TaskStartTime { get; set; } public DateTime? TaskEndTime { get; set; } /// /// 参数 /// [SugarColumn(ColumnDataType = "varchar(8000)")] public string TaskParams { get; set; } /// /// 执行次数 /// public int Tries { get; set; } /// /// 执行次数上限 /// public int Limit { get; set; } = 1; [SugarColumn(IsEnableUpdateVersionValidation = true)] public string Ver { get; set; } [Navigate(NavigateType.OneToOne, nameof(ApptaskId))] public Apptask Apptask { get; set; } } /// /// 任务状态 /// public enum ETaskStatus { Wait = 0, Processing = 1, Success = 2, Failed = 3, Terminated = 9, } /// /// 任务类型 /// public enum ETaskType { /// /// 延期 /// Delay = 1, /// /// 甄别 /// Screen = 2, }