package com.shzg.project.worn.domain;

import com.shzg.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.shzg.framework.aspectj.lang.annotation.Excel;

/**
 * MQTT设备对象 mqtt_sensor_device
 *
 * @author shzg
 * @date 2026-04-01
 */
public class MqttSensorDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 设备唯一标识（DevEUI） */
    @Excel(name = "设备唯一标识")
    private String devEui;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备类型（smoke / env / socket / door 等） */
    @Excel(name = "设备类型")
    private String deviceType;

    /** 所属部门ID */
    @Excel(name = "所属部门ID")
    private Long deptId;

    /** 所属部门名称 */
    @Excel(name = "所属部门名称")
    private String deptName;

    /** 🔥 上报周期（分钟） */
    @Excel(name = "上报周期(分钟)")
    private Integer reportIntervalMinute;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标识（0正常 1删除） */
    @Excel(name = "删除标识", readConverterExp = "0=正常,1=删除")
    private String isDelete;

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

    public Long getId()
    {
        return id;
    }

    public void setDevEui(String devEui)
    {
        this.devEui = devEui;
    }

    public String getDevEui()
    {
        return devEui;
    }

    public void setDeviceName(String deviceName)
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName()
    {
        return deviceName;
    }

    public void setDeviceType(String deviceType)
    {
        this.deviceType = deviceType;
    }

    public String getDeviceType()
    {
        return deviceType;
    }

    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }

    public void setDeptName(String deptName)
    {
        this.deptName = deptName;
    }

    public String getDeptName()
    {
        return deptName;
    }

    public void setReportIntervalMinute(Integer reportIntervalMinute)
    {
        this.reportIntervalMinute = reportIntervalMinute;
    }

    public Integer getReportIntervalMinute()
    {
        return reportIntervalMinute;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setIsDelete(String isDelete)
    {
        this.isDelete = isDelete;
    }

    public String getIsDelete()
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("devEui", getDevEui())
                .append("deviceName", getDeviceName())
                .append("deviceType", getDeviceType())
                .append("deptId", getDeptId())
                .append("deptName", getDeptName())
                .append("reportIntervalMinute", getReportIntervalMinute())
                .append("status", getStatus())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("isDelete", getIsDelete())
                .toString();
    }
}