package com.mortals.xhx.module.device.model;
import java.util.List;
import java.util.ArrayList;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.device.model.vo.DeviceTopicVo;
/**
* 设备topic实体对象
*
* @author zxfei
* @date 2021-11-22
*/

public class DeviceTopicEntity extends DeviceTopicVo {
    private static final long serialVersionUID = 1L;

    /**
    * 用户ID
    */
    private Long customerId;
    /**
    * 产品
    */
    private Long productId;
    /**
    * 平台为产品颁发的全局唯一标识符
    */
    private String productKey;
    /**
    * 设备ID
    */
    private Long deviceId;
    /**
    * 设备名称
    */
    private String deviceName;
    /**
    * 设备对该Topic的操作，可设置为发布、订阅、发布和订阅。
    */
    private Integer deviceTopicHandle;
    /**
    * 设备的具体是topic信息，根据产品topic信息生产
    */
    private String topic;
    /**
    * 描述
    */
    private String deviceTopicRemark;



    public DeviceTopicEntity(){}
    /**
    * 获取 用户ID
    * @return Long
    */
    public Long getCustomerId(){
        return customerId;
    }
    /**
    * 设置 用户ID
    * @param customerId
    */
    public void setCustomerId(Long customerId){
        this.customerId = customerId;
    }
    /**
    * 获取 产品
    * @return Long
    */
    public Long getProductId(){
        return productId;
    }
    /**
    * 设置 产品
    * @param productId
    */
    public void setProductId(Long productId){
        this.productId = productId;
    }
    /**
    * 获取 平台为产品颁发的全局唯一标识符
    * @return String
    */
    public String getProductKey(){
        return productKey;
    }
    /**
    * 设置 平台为产品颁发的全局唯一标识符
    * @param productKey
    */
    public void setProductKey(String productKey){
        this.productKey = productKey;
    }
    /**
    * 获取 设备ID
    * @return Long
    */
    public Long getDeviceId(){
        return deviceId;
    }
    /**
    * 设置 设备ID
    * @param deviceId
    */
    public void setDeviceId(Long deviceId){
        this.deviceId = deviceId;
    }
    /**
    * 获取 设备名称
    * @return String
    */
    public String getDeviceName(){
        return deviceName;
    }
    /**
    * 设置 设备名称
    * @param deviceName
    */
    public void setDeviceName(String deviceName){
        this.deviceName = deviceName;
    }
    /**
    * 获取 设备对该Topic的操作，可设置为发布、订阅、发布和订阅。
    * @return Integer
    */
    public Integer getDeviceTopicHandle(){
        return deviceTopicHandle;
    }
    /**
    * 设置 设备对该Topic的操作，可设置为发布、订阅、发布和订阅。
    * @param deviceTopicHandle
    */
    public void setDeviceTopicHandle(Integer deviceTopicHandle){
        this.deviceTopicHandle = deviceTopicHandle;
    }
    /**
    * 获取 设备的具体是topic信息，根据产品topic信息生产
    * @return String
    */
    public String getTopic(){
        return topic;
    }
    /**
    * 设置 设备的具体是topic信息，根据产品topic信息生产
    * @param topic
    */
    public void setTopic(String topic){
        this.topic = topic;
    }
    /**
    * 获取 描述
    * @return String
    */
    public String getDeviceTopicRemark(){
        return deviceTopicRemark;
    }
    /**
    * 设置 描述
    * @param deviceTopicRemark
    */
    public void setDeviceTopicRemark(String deviceTopicRemark){
        this.deviceTopicRemark = deviceTopicRemark;
    }




    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof DeviceTopicEntity) {
            DeviceTopicEntity tmp = (DeviceTopicEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",customerId:").append(getCustomerId());
        sb.append(",productId:").append(getProductId());
        sb.append(",productKey:").append(getProductKey());
        sb.append(",deviceId:").append(getDeviceId());
        sb.append(",deviceName:").append(getDeviceName());
        sb.append(",deviceTopicHandle:").append(getDeviceTopicHandle());
        sb.append(",topic:").append(getTopic());
        sb.append(",deviceTopicRemark:").append(getDeviceTopicRemark());
        return sb.toString();
    }

    public void initAttrValue(){
            this.customerId = null;
            this.productId = null;
            this.productKey = null;
            this.deviceId = null;
            this.deviceName = null;
            this.deviceTopicHandle = null;
            this.topic = null;
            this.deviceTopicRemark = null;
    }
}