package org.xyzh.common.dto.crontab;

import org.xyzh.common.dto.BaseDTO;

/**
 * @description 定时任务配置表
 * @filename TbCrontabTask.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-10-25
 */
public class TbCrontabTask extends BaseDTO {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * @description 任务ID
     */
    private String taskId;
    
    /**
     * @description 任务名称
     */
    private String taskName;
    
    /**
     * @description 任务分组
     */
    private String taskGroup;
    
    /**
     * @description Bean名称
     */
    private String beanName;
    
    /**
     * @description 方法名称
     */
    private String methodName;
    
    /**
     * @description 方法参数
     */
    private String methodParams;
    
    /**
     * @description 元数据ID（关联任务元数据表）
     */
    private String metaId;
    
    /**
     * @description 是否使用默认接收人（false:否 true:是）
     */
    private Boolean defaultRecipient;
    
    /**
     * @description Cron表达式
     */
    private String cronExpression;
    
    /**
     * @description 任务状态（0:暂停 1:运行中）
     */
    private Integer status;
    
    /**
     * @description 任务描述
     */
    private String description;
    
    /**
     * @description 是否允许并发执行（0:否 1:是）
     */
    private Integer concurrent;
    
    /**
     * @description 错过执行策略（1:立即执行 2:执行一次 3:放弃执行）
     */
    private Integer misfirePolicy;
    
    /**
     * @description 创建者
     */
    private String creator;
    
    /**
     * @description 更新者
     */
    private String updater;

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public String getTaskGroup() {
        return taskGroup;
    }

    public void setTaskGroup(String taskGroup) {
        this.taskGroup = taskGroup;
    }

    public String getBeanName() {
        return beanName;
    }

    public void setBeanName(String beanName) {
        this.beanName = beanName;
    }

    public String getMethodName() {
        return methodName;
    }

    public void setMethodName(String methodName) {
        this.methodName = methodName;
    }

    public String getMethodParams() {
        return methodParams;
    }

    public void setMethodParams(String methodParams) {
        this.methodParams = methodParams;
    }

    public String getMetaId() {
        return metaId;
    }

    public void setMetaId(String metaId) {
        this.metaId = metaId;
    }

    public Boolean getDefaultRecipient() {
        return defaultRecipient;
    }

    public void setDefaultRecipient(Boolean defaultRecipient) {
        this.defaultRecipient = defaultRecipient;
    }

    public String getCronExpression() {
        return cronExpression;
    }

    public void setCronExpression(String cronExpression) {
        this.cronExpression = cronExpression;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getConcurrent() {
        return concurrent;
    }

    public void setConcurrent(Integer concurrent) {
        this.concurrent = concurrent;
    }

    public Integer getMisfirePolicy() {
        return misfirePolicy;
    }

    public void setMisfirePolicy(Integer misfirePolicy) {
        this.misfirePolicy = misfirePolicy;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    @Override
    public String toString() {
        return "TbCrontabTask{" +
                "id=" + getID() +
                ", taskId='" + taskId + '\'' +
                ", taskName='" + taskName + '\'' +
                ", taskGroup='" + taskGroup + '\'' +
                ", beanName='" + beanName + '\'' +
                ", methodName='" + methodName + '\'' +
                ", cronExpression='" + cronExpression + '\'' +
                ", status=" + status +
                ", concurrent=" + concurrent +
                ", misfirePolicy=" + misfirePolicy +
                '}';
    }
}

