package com.xzzn.ems.domain;

import com.xzzn.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xzzn.common.annotation.Excel;

/**
 * 站点topic配置对象 ems_mqtt_topic_config
 *
 * @author xzzn
 * @date 2025-11-06
 */
public class EmsMqttTopicConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 主键 */
    private Long id;

    /** 订阅topic */
    @Excel(name = "订阅topic")
    private String mqttTopic;

    /** QoS等级（0/1/2） */
    @Excel(name = "QoS等级", readConverterExp = "0=/1/2")
    private Integer qos;

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

    /** 对应方法 */
    @Excel(name = "对应方法")
    private String handleMethod;

    /** 处理器类型：(DEVICE=设备数据，SYSTEM=系统状态，ALARM=告警数据等) */
    @Excel(name = "处理器类型：(DEVICE=设备数据，SYSTEM=系统状态，ALARM=告警数据等)")
    private String handleType;

    /** 站点id */
    @Excel(name = "站点id")
    private String siteId;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setMqttTopic(String mqttTopic)
    {
        this.mqttTopic = mqttTopic;
    }

    public String getMqttTopic()
    {
        return mqttTopic;
    }

    public void setQos(Integer qos)
    {
        this.qos = qos;
    }

    public Integer getQos()
    {
        return qos;
    }

    public void setTopicName(String topicName)
    {
        this.topicName = topicName;
    }

    public String getTopicName()
    {
        return topicName;
    }

    public void setHandleMethod(String handleMethod)
    {
        this.handleMethod = handleMethod;
    }

    public String getHandleMethod()
    {
        return handleMethod;
    }

    public void setHandleType(String handleType)
    {
        this.handleType = handleType;
    }

    public String getHandleType()
    {
        return handleType;
    }

    public void setSiteId(String siteId)
    {
        this.siteId = siteId;
    }

    public String getSiteId()
    {
        return siteId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("mqttTopic", getMqttTopic())
                .append("qos", getQos())
                .append("topicName", getTopicName())
                .append("handleMethod", getHandleMethod())
                .append("handleType", getHandleType())
                .append("siteId", getSiteId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
