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,
}