package com.iformall.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.iformall.domain.po.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * @author gongbiao
 */
@TableName(value = "kw_box")
@Data
@JsonIgnoreProperties(value = {"handler"})
@EqualsAndHashCode(callSuper = true)
public class KwBox extends BaseEntity {

    protected Long id;


    @io.swagger.annotations.ApiModelProperty(value = "tenantId", name = "tenantId")
    private String tenantId;

    @io.swagger.annotations.ApiModelProperty(value = "设备编号", name = "imei")
    private String imei;

    @io.swagger.annotations.ApiModelProperty(value = "SIM卡编号", name = "iccid")
    private String iccid;

    @io.swagger.annotations.ApiModelProperty(value = "位置", name = "place")
    private String place;

    @io.swagger.annotations.ApiModelProperty(value = "固件版本号", name = "fwVersion")
    private String fwVersion;

    @io.swagger.annotations.ApiModelProperty(value = "硬件版本号", name = "hdVersion")
    private String hdVersion;

    @io.swagger.annotations.ApiModelProperty(value = "注册状态0出厂已注册1", name = "registerStatus")
    private Integer registerStatus;

    @io.swagger.annotations.ApiModelProperty(value = "在线状态1在线0离线", name = "onlineStatus")
    private Integer onlineStatus;

    @io.swagger.annotations.ApiModelProperty(value = "配置信息", name = "config")
    private String config;

    @io.swagger.annotations.ApiModelProperty(value = "创始时间", name = "registerTime")
    private Date registerTime;

    @io.swagger.annotations.ApiModelProperty(value = "创始时间", name = "lastOnlineTime")
    private Date lastOnlineTime;

    @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createTime")
    private Date createTime;

    @io.swagger.annotations.ApiModelProperty(value = "修改时间", name = "updateTime")
    private Date updateTime;

    @io.swagger.annotations.ApiModelProperty(value = "通信密钥", name = "comKey")
    private String comKey;

    @io.swagger.annotations.ApiModelProperty(value = "状态0有效1无效", name = "status")
    private Integer status;

    @io.swagger.annotations.ApiModelProperty(value = "最大目标数量", name = "maxTagNum")
    private Integer maxTagNum;

    @TableField(exist = false)
    private Integer meterCount;

    @TableField(exist = false)
    private List<KwMeter> meters;

}
