package com.ruoyi.rocketmq.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;

import java.util.Date;

/**
 * Agent管理对象 rm_agent_management
 * 
 * @author gyt
 * @date 2025-09-15
 */
@Data
public class RmAgentManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 硬件SN码 */
    @Excel(name = "硬件SN码")
    private String hardwareSn;

    /** 资源名称 */
    @Excel(name = "资源名称")
    private String resourceName;

    /** 内网IP地址 */
    @Excel(name = "内网IP地址")
    private String internalIp;

    /** Agent状态：0-离线，1-在线，2-异常 */
    @Excel(name = "Agent状态：0-离线，1-在线，2-异常")
    private String status;

    /** Agent版本号 */
    @Excel(name = "Agent版本号")
    private String agentVersion;

    /** 执行方式 */
    @Excel(name = "执行方式")
    private Integer method;

    /** 定时更新时间（cron表达式） */
    @Excel(name = "定时更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date scheduledUpdateTime;
    /** 文件地址格式 */
    @Excel(name = "文件地址格式")
    private Long fileUrlType;

    /** 文件地址 */
    @Excel(name = "文件地址")
    private String fileUrl;
    /** 文件目录 */
    @Excel(name = "文件目录")
    private String fileDirectory;

    /** 最后一次更新结果（success/failure） */
    @Excel(name = "最后一次更新结果", readConverterExp = "s=uccess/failure")
    private String lastUpdateResult;

    /** 最后一次更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateTime;
    /** 生效服务器id */
    private String includeIds;
    /** 生效服务器名称 */
    private String includeNames;
    /** 查询条件名称 */
    private String queryName;
    /** 文件MD5 */
    private String fileMd5;
    /** 客户端id */
    private String clientId;
    /** 部署设备 */
    private String deployDevice;
    /** 管理网公网Ip */
    private String managePublicIp;

}
