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 com.ruoyi.rocketmq.domain.vo.RmMonitorPolicyVo;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 资源监控策略对象 rm_monitor_policy
 * 
 * @author gyt
 * @date 2025-09-10
 */
@Data
public class RmMonitorPolicy extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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


    /** 策略名称 */
    @Excel(name = "策略名称")
    private String policyName;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 资源组ID */
    private Long resourceGroupId;
    /** 资源组名称 */
    @Excel(name = "关联资源组")
    private String resourceGroupName;
    /** 模板ID */
    private Long templateId;
    /** 模板名称 */
    @Excel(name = "关联监控模板")
    private String templateName;

    /** 状态：0-待下发，1-已下发 */
    @Excel(name = "策略状态", readConverterExp = "0=待下发,1=已下发")
    private String status;

    /** 下发策略时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下发策略时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date deployTime;
    /** 采集周期及id集合 */
    private List<RmMonitorPolicyVo> collectionAndIdList;
    /** 资源类型，linux switch */
    private String resourceType;
    /** 查询条件名称 */
    private String queryName;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间")
    private Date createTime;
    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间")
    private Date updateTime;
    /** 交换机类型 */
    private String switchType;
    /** 部署设备 */
    private String deployDevice;
    /** 优先级 */
    private String priority;
}
