package com.shzg.project.worn.domain;

import java.math.BigDecimal;
import java.util.List;

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_sensor_data
 */
public class MqttSensorData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 设备ID */
    @Excel(name = "设备ID")
    private Long deviceId;

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

    private List<Long> deptIds;

    /** MQTT Topic */
    @Excel(name = "MQTT Topic")
    private String topic;

    /** 项目 */
    @Excel(name = "项目")
    private String project;

    /** 仓库 */
    @Excel(name = "仓库")
    private String warehouse;

    /** 原始消息 */
    @Excel(name = "原始消息")
    private String payload;

    /** 解析JSON */
    @Excel(name = "解析JSON")
    private String dataJson;

    /** 电量 */
    @Excel(name = "电量")
    private Long battery;

    /** 温度 */
    @Excel(name = "温度")
    private BigDecimal temperature;

    /** 湿度 */
    @Excel(name = "湿度")
    private BigDecimal humidity;

    /** 氨气 */
    @Excel(name = "氨气")
    private BigDecimal nh3;

    /** 硫化氢 */
    @Excel(name = "硫化氢")
    private BigDecimal h2s;

    /** 烟雾浓度 */
    @Excel(name = "烟雾浓度")
    private Long concentration;

    /** 水浸状态 */
    @Excel(name = "水浸状态")
    private Integer waterStatus;

    /** 插座状态（0关 1开） */
    @Excel(name = "插座状态")
    private Integer switchStatus;

    /** 门磁状态（0关 1开） */
    @Excel(name = "门磁状态")
    private Integer doorStatus;

    /** 删除标识 */
    @Excel(name = "删除标识")
    private String isDelete;

    // ================== getter / setter ==================

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

    public Long getDeviceId() { return deviceId; }
    public void setDeviceId(Long deviceId) { this.deviceId = deviceId; }

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

    public List<Long> getDeptIds() { return deptIds; }
    public void setDeptIds(List<Long> deptIds) { this.deptIds = deptIds; }

    public String getTopic() { return topic; }
    public void setTopic(String topic) { this.topic = topic; }

    public String getProject() { return project; }
    public void setProject(String project) { this.project = project; }

    public String getWarehouse() { return warehouse; }
    public void setWarehouse(String warehouse) { this.warehouse = warehouse; }

    public String getPayload() { return payload; }
    public void setPayload(String payload) { this.payload = payload; }

    public String getDataJson() { return dataJson; }
    public void setDataJson(String dataJson) { this.dataJson = dataJson; }

    public Long getBattery() { return battery; }
    public void setBattery(Long battery) { this.battery = battery; }

    public BigDecimal getTemperature() { return temperature; }
    public void setTemperature(BigDecimal temperature) { this.temperature = temperature; }

    public BigDecimal getHumidity() { return humidity; }
    public void setHumidity(BigDecimal humidity) { this.humidity = humidity; }

    public BigDecimal getNh3() { return nh3; }
    public void setNh3(BigDecimal nh3) { this.nh3 = nh3; }

    public BigDecimal getH2s() { return h2s; }
    public void setH2s(BigDecimal h2s) { this.h2s = h2s; }

    public Long getConcentration() { return concentration; }
    public void setConcentration(Long concentration) { this.concentration = concentration; }

    public Integer getWaterStatus() { return waterStatus; }
    public void setWaterStatus(Integer waterStatus) { this.waterStatus = waterStatus; }

    public Integer getSwitchStatus() { return switchStatus; }
    public void setSwitchStatus(Integer switchStatus) { this.switchStatus = switchStatus; }

    public Integer getDoorStatus() { return doorStatus; }

    public void setDoorStatus(Integer doorStatus) { this.doorStatus = doorStatus; }

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

    // ================== toString ==================

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deviceId", getDeviceId())
                .append("deptId", getDeptId())
                .append("topic", getTopic())
                .append("payload", getPayload())
                .append("switchStatus", getSwitchStatus())
                .append("doorStatus", getDoorStatus())
                .append("createTime", getCreateTime())
                .toString();
    }
}