package com.tongran.mtragent.domain;

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

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

/**
 * mtr探测策略配置对象 rm_mtr_policy_config
 * 
 * @author tongran
 * @date 2025-11-18
 */
@Data
public class RmMtrPolicyConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

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

    /** 优先级 */
    @Excel(name = "优先级")
    private Long priority;

    /** MTR客户端ID */
    @Excel(name = "MTR客户端ID")
    private String mtrClientId;

    /** 服务器集合(换行符分割) */
    @Excel(name = "服务器集合")
    private String serverGroup;
    /** 探测目标ip集合 */
    @Excel(name = "目标ip集合")
    private String serveripGroup;

    /** 是否探测(0-否,1-是) */
    @Excel(name = "是否探测", readConverterExp = "0=否,1=是")
    private Long probeFlag;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 探测频率(秒) */
    @Excel(name = "探测频率(秒)")
    private Long probeFrequency;
    /** clientId和ip对应集合 */
    private Map<String, List<String>> clientIdToIpsMap;
    /** 查询条件 */
    private String queryName;
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
}
