package com.yfd.platform.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.sql.Timestamp;

/**
 * <p>
 * 定时任务
 * </p>
 *
 *
 * @since 2023-03-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_quartz_job")
public class QuartzJob implements Serializable {

    public static final String JOB_KEY = "JOB_KEY";
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 排序号
     */
    @ApiModelProperty(value = "排序号")
    private Integer orderno;

    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")
    private String jobName;

    /**
     * 执行类名称
     */
    @ApiModelProperty(value = "执行类名称")
    private String jobClass;

    /**
     * 执行方法名称
     */
    @ApiModelProperty(value = "执行方法名称")
    private String jobMethod;

    /**
     * 时间周期表达式
     */
    @ApiModelProperty(value = "时间周期表达式")
    private String jobCron;

    /**
     * 方法参数
     */
    @ApiModelProperty(value = "方法参数")
    private String jobParams;

    /**
     * 任务描述
     */
    @ApiModelProperty(value = "任务描述")
    private String description;

    /**
     * 状态：0-暂停、1-启用
     */
    @ApiModelProperty(value = "状态：0-暂停、1-启用")
    private String status;

    /**
     * 最近修改者
     */
    @ApiModelProperty(value = "最近修改者")
    private String lastmodifier;

    /**
     * 最近修改日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "最近修改日期")
    private Timestamp lastmodifydate;

    /**
     * 备用1
     */
    @ApiModelProperty(value = "备用1")
    private String custom1;

    /**
     * 备用2
     */
    @ApiModelProperty(value = "备用2")
    private String custom2;

    /**
     * 备用3
     */
    @ApiModelProperty(value = "备用3")
    private String custom3;

}
