package com.heyu.api.data.entity.device;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.lz.mybatis.plugin.annotations.AS;

import java.math.BigDecimal;
import java.util.Date;import java.util.Date;
/**
*设备信息表
* @author quyixiao
* @since 2025-03-04
*/

@Data
@TableName("device_info")
public class DeviceInfoEntity implements java.io.Serializable {
private static final long serialVersionUID = 1L;

    public final static String CLASS_NAME ="com.heyu.api.data.entity.device.DeviceInfoEntity:";

    public final static String all = CLASS_NAME + "*";
    public final static String id_ = CLASS_NAME + "id";                                   // 
    public final static String is_delete = CLASS_NAME + "is_delete";                      // 是否删除：0 否 1 删除
    public final static String create_time = CLASS_NAME + "create_time";                  // 创建时间
    public final static String modify_time = CLASS_NAME + "modify_time";                  // 修改时间
    public final static String batch_id = CLASS_NAME + "batch_id";                        // 批次号
    public final static String name_ = CLASS_NAME + "name";                               // 设备名称
    public final static String sn_ = CLASS_NAME + "sn";                                   // 设备序列号
    public final static String key_ = CLASS_NAME + "key";                                 // 设备密钥，用于验签
    public final static String bt_mac = CLASS_NAME + "bt_mac";                            // 蓝牙地址
    public final static String wifi_mac = CLASS_NAME + "wifi_mac";                        // wifi地址
    public final static String firmware_version = CLASS_NAME + "firmware_version";        // 当前固件版本
    public final static String device_type = CLASS_NAME + "device_type";                  // 设备类型：0 果Box 1智能插座 2智能大灯 3智能窗帘驱动 4智能窗户关闭 5智能台灯 6智能桌子 7智能椅子 8智能风扇 9智能空调（遥控器） 10智能冰箱 11智能洗碗机 12智能电热水器 13温度传感器 14空气质量传感器 15光线传感器 16雨量传感器 17闭门器 20MR眼镜 99:机器人
    public final static String status_ = CLASS_NAME + "status";                           // 设备状态：0：开启，1待机、关闭（在线）
    public final static String on_line = CLASS_NAME + "on_line";                          // 是否在线 0：不在线 1在线
    public final static String last_on_line_time = CLASS_NAME + "last_on_line_time";      // 最后一次上线时间
    public final static String last_off_line_time = CLASS_NAME + "last_off_line_time";    // 最后一次离线时间
    public final static String protocol_type = CLASS_NAME + "protocol_type";              // 通讯协议类型：0：WebSocket 1：MQTT 2：TCP 3：UDP 4：HTTP
    public final static String operating_mode_id = CLASS_NAME + "operating_mode_id";      // 运行模式id
    public final static String ota_type = CLASS_NAME + "ota_type";                        // 升级模式：0 无模式 1 自动升级
    public final static String ota_start_time = CLASS_NAME + "ota_start_time";            // 自动升级开始时间段
    public final static String ota_end_time = CLASS_NAME + "ota_end_time";                // 自动升级结束时间段
    public final static String factory_time = CLASS_NAME + "factory_time";                // 生产时间
    public final static String sale_time = CLASS_NAME + "sale_time";                      // 销售时间
    public final static String dev_sn = CLASS_NAME + "dev_sn";                            // 设备自身，产线SN
    //
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    //是否删除：0 否 1 删除
    private Integer isDelete;
    //创建时间
    private Date createTime;
    //修改时间
    private Date modifyTime;
    //批次号
    private Long batchId;
    //设备名称
    private String name;
    //设备序列号
    private String sn;
    //设备密钥，用于验签
    private String key;
    //蓝牙地址
    private String btMac;
    //wifi地址
    private String wifiMac;
    //当前固件版本
    private String firmwareVersion;
    //设备类型：0 果Box 1智能插座 2智能大灯 3智能窗帘驱动 4智能窗户关闭 5智能台灯 6智能桌子 7智能椅子 8智能风扇 9智能空调（遥控器） 10智能冰箱 11智能洗碗机 12智能电热水器 13温度传感器 14空气质量传感器 15光线传感器 16雨量传感器 17闭门器 20MR眼镜 99:机器人
    private Integer deviceType;
    //设备状态：0：开启，1待机、关闭（在线）
    private Integer status;
    //是否在线 0：不在线 1在线
    private Integer onLine;
    //最后一次上线时间
    private Date lastOnLineTime;
    //最后一次离线时间
    private Date lastOffLineTime;
    //通讯协议类型：0：WebSocket 1：MQTT 2：TCP 3：UDP 4：HTTP
    private Integer protocolType;
    //运行模式id
    private Long operatingModeId;
    //升级模式：0 无模式 1 自动升级
    private Integer otaType;
    //自动升级开始时间段
    private Date otaStartTime;
    //自动升级结束时间段
    private Date otaEndTime;
    //生产时间
    private Date factoryTime;
    //销售时间
    private Date saleTime;
    //设备自身，产线SN
    private String devSn;
    /**
     *  
     * @return
     */
    public Long getId() {
        return id;
    }
    /**
     *  
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 是否删除：0 否 1 删除 
     * @return
     */
    public Integer getIsDelete() {
        return isDelete;
    }
    /**
     * 是否删除：0 否 1 删除 
     * @param isDelete
     */
    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 创建时间 
     * @return
     */
    public Date getCreateTime() {
        return createTime;
    }
    /**
     * 创建时间 
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 修改时间 
     * @return
     */
    public Date getModifyTime() {
        return modifyTime;
    }
    /**
     * 修改时间 
     * @param modifyTime
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 批次号 
     * @return
     */
    public Long getBatchId() {
        return batchId;
    }
    /**
     * 批次号 
     * @param batchId
     */
    public void setBatchId(Long batchId) {
        this.batchId = batchId;
    }

    /**
     * 设备名称 
     * @return
     */
    public String getName() {
        return name;
    }
    /**
     * 设备名称 
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 设备序列号 
     * @return
     */
    public String getSn() {
        return sn;
    }
    /**
     * 设备序列号 
     * @param sn
     */
    public void setSn(String sn) {
        this.sn = sn;
    }

    /**
     * 设备密钥，用于验签 
     * @return
     */
    public String getKey() {
        return key;
    }
    /**
     * 设备密钥，用于验签 
     * @param key
     */
    public void setKey(String key) {
        this.key = key;
    }

    /**
     * 蓝牙地址 
     * @return
     */
    public String getBtMac() {
        return btMac;
    }
    /**
     * 蓝牙地址 
     * @param btMac
     */
    public void setBtMac(String btMac) {
        this.btMac = btMac;
    }

    /**
     * wifi地址 
     * @return
     */
    public String getWifiMac() {
        return wifiMac;
    }
    /**
     * wifi地址 
     * @param wifiMac
     */
    public void setWifiMac(String wifiMac) {
        this.wifiMac = wifiMac;
    }

    /**
     * 当前固件版本 
     * @return
     */
    public String getFirmwareVersion() {
        return firmwareVersion;
    }
    /**
     * 当前固件版本 
     * @param firmwareVersion
     */
    public void setFirmwareVersion(String firmwareVersion) {
        this.firmwareVersion = firmwareVersion;
    }

    /**
     * 设备类型：0 果Box 1智能插座 2智能大灯 3智能窗帘驱动 4智能窗户关闭 5智能台灯 6智能桌子 7智能椅子 8智能风扇 9智能空调（遥控器） 10智能冰箱 11智能洗碗机 12智能电热水器 13温度传感器 14空气质量传感器 15光线传感器 16雨量传感器 17闭门器 20MR眼镜 99:机器人 
     * @return
     */
    public Integer getDeviceType() {
        return deviceType;
    }
    /**
     * 设备类型：0 果Box 1智能插座 2智能大灯 3智能窗帘驱动 4智能窗户关闭 5智能台灯 6智能桌子 7智能椅子 8智能风扇 9智能空调（遥控器） 10智能冰箱 11智能洗碗机 12智能电热水器 13温度传感器 14空气质量传感器 15光线传感器 16雨量传感器 17闭门器 20MR眼镜 99:机器人 
     * @param deviceType
     */
    public void setDeviceType(Integer deviceType) {
        this.deviceType = deviceType;
    }

    /**
     * 设备状态：0：开启，1待机、关闭（在线） 
     * @return
     */
    public Integer getStatus() {
        return status;
    }
    /**
     * 设备状态：0：开启，1待机、关闭（在线） 
     * @param status
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 是否在线 0：不在线 1在线 
     * @return
     */
    public Integer getOnLine() {
        return onLine;
    }
    /**
     * 是否在线 0：不在线 1在线 
     * @param onLine
     */
    public void setOnLine(Integer onLine) {
        this.onLine = onLine;
    }

    /**
     * 最后一次上线时间 
     * @return
     */
    public Date getLastOnLineTime() {
        return lastOnLineTime;
    }
    /**
     * 最后一次上线时间 
     * @param lastOnLineTime
     */
    public void setLastOnLineTime(Date lastOnLineTime) {
        this.lastOnLineTime = lastOnLineTime;
    }

    /**
     * 最后一次离线时间 
     * @return
     */
    public Date getLastOffLineTime() {
        return lastOffLineTime;
    }
    /**
     * 最后一次离线时间 
     * @param lastOffLineTime
     */
    public void setLastOffLineTime(Date lastOffLineTime) {
        this.lastOffLineTime = lastOffLineTime;
    }

    /**
     * 通讯协议类型：0：WebSocket 1：MQTT 2：TCP 3：UDP 4：HTTP 
     * @return
     */
    public Integer getProtocolType() {
        return protocolType;
    }
    /**
     * 通讯协议类型：0：WebSocket 1：MQTT 2：TCP 3：UDP 4：HTTP 
     * @param protocolType
     */
    public void setProtocolType(Integer protocolType) {
        this.protocolType = protocolType;
    }

    /**
     * 运行模式id 
     * @return
     */
    public Long getOperatingModeId() {
        return operatingModeId;
    }
    /**
     * 运行模式id 
     * @param operatingModeId
     */
    public void setOperatingModeId(Long operatingModeId) {
        this.operatingModeId = operatingModeId;
    }

    /**
     * 升级模式：0 无模式 1 自动升级 
     * @return
     */
    public Integer getOtaType() {
        return otaType;
    }
    /**
     * 升级模式：0 无模式 1 自动升级 
     * @param otaType
     */
    public void setOtaType(Integer otaType) {
        this.otaType = otaType;
    }

    /**
     * 自动升级开始时间段 
     * @return
     */
    public Date getOtaStartTime() {
        return otaStartTime;
    }
    /**
     * 自动升级开始时间段 
     * @param otaStartTime
     */
    public void setOtaStartTime(Date otaStartTime) {
        this.otaStartTime = otaStartTime;
    }

    /**
     * 自动升级结束时间段 
     * @return
     */
    public Date getOtaEndTime() {
        return otaEndTime;
    }
    /**
     * 自动升级结束时间段 
     * @param otaEndTime
     */
    public void setOtaEndTime(Date otaEndTime) {
        this.otaEndTime = otaEndTime;
    }

    /**
     * 生产时间 
     * @return
     */
    public Date getFactoryTime() {
        return factoryTime;
    }
    /**
     * 生产时间 
     * @param factoryTime
     */
    public void setFactoryTime(Date factoryTime) {
        this.factoryTime = factoryTime;
    }

    /**
     * 销售时间 
     * @return
     */
    public Date getSaleTime() {
        return saleTime;
    }
    /**
     * 销售时间 
     * @param saleTime
     */
    public void setSaleTime(Date saleTime) {
        this.saleTime = saleTime;
    }

    /**
     * 设备自身，产线SN 
     * @return
     */
    public String getDevSn() {
        return devSn;
    }
    /**
     * 设备自身，产线SN 
     * @param devSn
     */
    public void setDevSn(String devSn) {
        this.devSn = devSn;
    }

    @Override
    public String toString() {
        return "DeviceInfoEntity{" +
                ",id=" + id +
                ",isDelete=" + isDelete +
                ",createTime=" + createTime +
                ",modifyTime=" + modifyTime +
                ",batchId=" + batchId +
                ",name=" + name +
                ",sn=" + sn +
                ",key=" + key +
                ",btMac=" + btMac +
                ",wifiMac=" + wifiMac +
                ",firmwareVersion=" + firmwareVersion +
                ",deviceType=" + deviceType +
                ",status=" + status +
                ",onLine=" + onLine +
                ",lastOnLineTime=" + lastOnLineTime +
                ",lastOffLineTime=" + lastOffLineTime +
                ",protocolType=" + protocolType +
                ",operatingModeId=" + operatingModeId +
                ",otaType=" + otaType +
                ",otaStartTime=" + otaStartTime +
                ",otaEndTime=" + otaEndTime +
                ",factoryTime=" + factoryTime +
                ",saleTime=" + saleTime +
                ",devSn=" + devSn +
                "}";
    }
}