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;
import com.alibaba.fastjson2.annotation.JSONField;
import java.util.Date;

/**
 * 定时任务列表VO
 * 用于前端列表展示（简化版）
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "定时任务列表VO")
public class CrontabTaskListVO extends BaseVO {
    private static final long serialVersionUID = 1L;
    
    @Schema(description = "任务ID")
    private String taskId;
    
    @Schema(description = "任务名称")
    private String taskName;
    
    @Schema(description = "任务分组")
    private String taskGroup;
    
    @Schema(description = "Cron表达式")
    private String cronExpression;
    
    @Schema(description = "Cron表达式描述")
    private String cronDescription;
    
    @Schema(description = "任务状态")
    private Integer status;
    
    @Schema(description = "任务状态名称")
    private String statusName;
    
    @Schema(description = "下次执行时间", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date nextExecuteTime;
    
    @Schema(description = "最后执行时间", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date lastExecuteTime;
    
    @Schema(description = "最后执行状态")
    private Integer lastExecuteStatus;
    
    @Schema(description = "创建者姓名")
    private String creatorName;
}
