package com.ycwl.basic.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ycwl.basic.model.task.req.ClientStatusReqVo;
import lombok.Data;

import java.util.Date;

/**
 * 带保活信息的渲染工作器DTO
 */
@Data
public class RenderWorkerWithStatusDTO {

    /**
     * 工作器ID
     */
    private Long id;

    /**
     * 工作器名称
     */
    private String name;

    /**
     * 工作器标识
     */
    private String key;

    /**
     * 是否启用 (0-禁用，1-启用)
     */
    @JsonProperty("isActive")
    private Integer isActive;

    /**
     * 创建时间
     */
    @JsonProperty("createTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonProperty("updateTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 主机保活状态信息
     */
    private ClientStatusReqVo hostStatus;

    /**
     * 是否在线（基于保活信息判断）
     */
    private Boolean isOnline;
}