package org.xyzh.api.crontab.vo;

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

/**
 * 定时任务元数据VO
 * 用于前端展示任务元数据信息
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "定时任务元数据VO")
public class CrontabTaskMetaVO extends BaseVO {
    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 = "排序号")
    private Integer sortOrder;
    
    @Schema(description = "关联的任务数量")
    private Integer taskCount;
    
    @Schema(description = "创建者姓名")
    private String creatorName;
    
    @Schema(description = "更新者姓名")
    private String updaterName;
}
