package org.xyzh.common.dto.crontab;

import org.xyzh.common.dto.BaseDTO;

/**
 * @description 定时任务元数据表
 * @filename TbCrontabTaskMeta.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-11-18
 */
public class TbCrontabTaskMeta extends BaseDTO {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * @description 元数据ID
     */
    private String metaId;
    
    /**
     * @description 任务名称
     */
    private String name;
    
    /**
     * @description 任务描述
     */
    private String description;
    
    /**
     * @description 任务分类（如：人民日报新闻爬取）
     */
    private String category;
    
    /**
     * @description Bean名称（执行器类名）
     */
    private String beanName;
    
    /**
     * @description 执行方法名
     */
    private String methodName;
    
    /**
     * @description Python脚本路径（相对于basePath）
     */
    private String scriptPath;
    
    /**
     * @description 参数模板（JSON格式）
     */
    private String paramSchema;

    /**
     * @description 是否自动发布
     */
    private Boolean autoPublish;
    
    /**
     * @description 排序号
     */
    private Integer sortOrder;
    
    /**
     * @description 创建者
     */
    private String creator;
    
    /**
     * @description 更新者
     */
    private String updater;

    public String getMetaId() {
        return metaId;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

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

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    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 getScriptPath() {
        return scriptPath;
    }

    public void setScriptPath(String scriptPath) {
        this.scriptPath = scriptPath;
    }

    public String getParamSchema() {
        return paramSchema;
    }

    public void setParamSchema(String paramSchema) {
        this.paramSchema = paramSchema;
    }

    public Boolean getAutoPublish() {
        return autoPublish;
    }

    public void setAutoPublish(Boolean autoPublish) {
        this.autoPublish = autoPublish;
    }

    public Integer getSortOrder() {
        return sortOrder;
    }

    public void setSortOrder(Integer sortOrder) {
        this.sortOrder = sortOrder;
    }

    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 "TbCrontabTaskMeta{" +
                "id=" + getID() +
                ", metaId='" + metaId + '\'' +
                ", name='" + name + '\'' +
                ", category='" + category + '\'' +
                ", beanName='" + beanName + '\'' +
                ", methodName='" + methodName + '\'' +
                ", scriptPath='" + scriptPath + '\'' +
                ", paramSchema='" + paramSchema + '\'' +
                ", autoPublish=" + autoPublish +
                ", sortOrder=" + sortOrder +
                '}';
    }
}