using System;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;

namespace Admin.Core.Model.Sys
{
    ///<summary>
    ///任务计划表实体类
    ///</summary>
    [Table("SysTasksQz")]
    [SugarTable("SysTasksQz", "Admin.Core")]
    public class SysTasksQz
    {


        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        [Required]
        public int ID { get; set; }


        /// <summary>
        /// 任务名称
        /// </summary>
        public string Name { get; set; }


        /// <summary>
        /// 任务分组
        /// </summary>
        public string JobGroup { get; set; }


        /// <summary>
        /// 任务运行时间表达式
        /// </summary>
        public string Cron { get; set; }


        /// <summary>
        /// 任务所在DLL对应的程序集名称
        /// </summary>
        public string AssemblyName { get; set; }


        /// <summary>
        /// 任务所在类
        /// </summary>
        public string ClassName { get; set; }


        /// <summary>
        /// 任务描述
        /// </summary>
        public string Remark { get; set; }


        /// <summary>
        /// 执行次数
        /// </summary>
        public int? RunTimes { get; set; }


        /// <summary>
        /// 开始时间
        /// </summary>
        public DateTime? BeginTime { get; set; }


        /// <summary>
        /// 结束时间
        /// </summary>
        public DateTime? EndTime { get; set; }


        /// <summary>
        /// 触发器类型(0、simple 1、cron)
        /// </summary>
        public int? TriggerType { get; set; }


        /// <summary>
        /// 执行间隔时间, 秒为单位
        /// </summary>
        public int? IntervalSecond { get; set; }


        /// <summary>
        /// 循环执行次数
        /// </summary>
        public int? CycleRunTimes { get; set; }


        /// <summary>
        /// 是否启动
        /// </summary>
        public bool? IsStart { get; set; }


        /// <summary>
        /// 执行传参
        /// </summary>
        public string JobParams { get; set; }


        /// <summary>
        /// 删除标志(0代表存在 1代表删除)
        /// </summary>
        public bool? DelFlag { get; set; }


        /// <summary>
        /// 创建者
        /// </summary>
        public string CreateBy { get; set; }


        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }


        /// <summary>
        /// 更新者
        /// </summary>
        public string UpdateBy { get; set; }


        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }


        /// <summary>
        /// 任务内存中的状态
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public List<TaskInfoDto> Triggers { get; set; }

    }
}