package org.xyzh.api.crontab.dto;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.xyzh.common.dto.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 定时任务元数据DTO
 * 用于创建和更新任务元数据配置
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "定时任务元数据DTO")
public class TbCrontabTaskMetaDTO extends BaseDTO {
    private static final long serialVersionUID = 1L;
    
    @Schema(description = "元数据ID（更新时需要）")
    private String metaId;
    
    @Schema(description = "任务名称")
    private String name;
    
    @Schema(description = "任务描述")
    private String description;
    
    @Schema(description = "任务分类")
    private String category;
    
    @Schema(description = "Bean名称（执行器类名）")
    private String beanName;
    
    @Schema(description = "执行方法名")
    private String methodName;
    
    @Schema(description = "Python脚本路径")
    private String scriptPath;
    
    @Schema(description = "参数模板（JSON格式）")
    private String paramSchema;
    
    @Schema(description = "是否自动发布", defaultValue = "false")
    private Boolean autoPublish;
    
    @Schema(description = "排序号", defaultValue = "0")
    private Integer sortOrder;
}
