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.TaskStatus;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 任务调度记录表
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("sys_task_schedule_recode")
public class TaskScheduleRecodeEntity {
    /**
     * Id
     */
    @TableId(type = IdType.INPUT)
    private Long id;
    /**
     * 任务 Id
     */
    private Long taskId;
    /**
     * 任务名称
     */
    private String taskName;

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

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

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

    /**
     * 调度时间
     */
    private LocalDateTime scheduleTime;
    /**
     * 任务开始时间
     */
    private LocalDateTime startTime;
    /**
     * 任务结束时间
     */
    private LocalDateTime endTime;

    /**
     * 任务状态
     */
    private TaskStatus taskStatus;
    /**
     * 本次调度是否为手动触发
     */
    private Boolean manually;

    private Boolean builtin;

    /**
     * 备注
     */
    private String memo;

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


}
