package cn.iocoder.yudao.module.pms.dal.dataobject.yanfan;

import lombok.*;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 设备 DO
 *
 * @author 李鹏辉
 */
@TableName("iot_device")
@KeySequence("iot_device_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class YfDeviceDO  {

    /**
     * 设备ID
     */
    @TableId
    private Long deviceId;
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 产品ID
     */
    private Long productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 租户名称
     */
    private String tenantName;
    /**
     * 设备编号
     */
    private String serialNumber;
    /**
     * 子设备网关编号
     */
    private String gwDevCode;
    /**
     * 固件版本
     */
    private Double firmwareVersion;
    /**
     * 设备状态（1-未激活，2-禁用，3-在线，4-离线）
     */
    private Integer status;
    /**
     * 信号强度（	信号极好4格[-55— 0]，	信号好3格[-70— -55]，	信号一般2格[-85— -70]，	信号差1格[-100— -85]）
     */
    private Integer rssi;
    /**
     * 是否启用设备影子(0=禁用，1=启用)
     */
    private Boolean isShadow;
    /**
     * 定位方式(1=ip自动定位，2=设备定位，3=自定义)
     */
    private Boolean locationWay;
    /**
     * 物模型值
     */
    private String thingsModelValue;
    /**
     * 设备所在地址
     */
    private String networkAddress;
    /**
     * 设备入网IP
     */
    private String networkIp;
    /**
     * 设备经度
     */
    private Double longitude;
    /**
     * 设备纬度
     */
    private Double latitude;
    /**
     * 激活时间
     */
    private LocalDateTime activeTime;
    /**
     * 设备摘要，格式[{"name":"device"},{"chip":"esp8266"}]
     */
    private String summary;
    /**
     * 图片地址
     */
    private String imgUrl;
    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;
    /**
     * 创建者
     */
    private String createBy;
    /**
     * 更新者
     */
    private String updateBy;
    /**
     * 备注
     */
    private String remark;
    /**
     * 是否是模拟设备
     */
    private Integer isSimulate;
    /**
     * 从机id
     */
    private Integer slaveId;
    /**
     * clientId编号
     */
//    private String clientId;
    /**
     * 发布
     */
    private String postDev;
    /**
     * 订阅
     */
    private String getDev;
    /**
     * mqtt是否自定义状态（1为初始化，0为自定义）
     */
    private Integer mqttstats;

}
