package com.njzscloud.common.sichen.pojo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.njzscloud.common.sichen.contant.ScheduleType;
import com.njzscloud.common.sichen.contant.TaskLogLevel;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 定时任务表
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName(value = "sys_task", autoResultMap = true)
public class TaskEntity {

    /**
     * Id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 任务执行函数；Task 注解的 value 属性，或执行函数的全限定名称
     */
    private String fn;

    /**
     * 调度方式; 字典代码：schedule_type
     */
    private ScheduleType scheduleType;

    /**
     * 调度配置; 手动时为空，固定周期时单位为秒
     */
    private String scheduleConf;

    /**
     * 临界时间
     */
    private Long criticalTiming;

    /**
     * 是否禁用; 0-->否、1-->是
     */
    private Boolean disabled;

    /**
     * 日志等级
     */
    private TaskLogLevel logLevel;
    /**
     * 备注
     */
    private String memo;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;


}
