package com.iformall.domain.po;

import cn.afterturn.easypoi.excel.annotation.Excel;
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;

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

    protected Long id;

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

    @Excel(name = "电表编号 *", width = 20, orderNum = "1")
    @io.swagger.annotations.ApiModelProperty(value = "电表编号", name = "address")
    private String address;

    @Excel(name = "位置", width = 20, orderNum = "2")
    @io.swagger.annotations.ApiModelProperty(value = "位置", name = "place")
    private String place;

    @Excel(name = "品牌", width = 20, orderNum = "3")
    @io.swagger.annotations.ApiModelProperty(value = "品牌", name = "brand")
    private String brand;

    @Excel(name = "型号", width = 20, orderNum = "4")
    @io.swagger.annotations.ApiModelProperty(value = "型号", name = "model")
    private String model;

    @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 = "lastOnlineTime")
    private Date lastOnlineTime;

    @io.swagger.annotations.ApiModelProperty(value = "最后一次读数", name = "totalPower")
    private Integer totalPower;

    @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 = "开物盒子ID", name = "boxId")
    private Long boxId;

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

    @io.swagger.annotations.ApiModelProperty(value = "状态0绑定1未绑定", name = "bindStatus")
    private Integer bindStatus;

    @Excel(name = "采集设备号", width = 20, orderNum = "7")
    @TableField(exist = false)
    private String boxImei;

    @Excel(name = "协议(0,1,2-AUTO,97,07协议)", width =30, orderNum = "5")
    @TableField(exist = false)
    @io.swagger.annotations.ApiModelProperty(value = "协议(0,1,2-AUTO,97,07协议)", name = "protocol")
    private Integer protocol;

    @Excel(name = "波特率(1200,2400,9600)", width = 30, orderNum = "6")
    @TableField(exist = false)
    @io.swagger.annotations.ApiModelProperty(value = "波特率(1200,2400,9600)", name = "bandrate")
    private Integer bandrate;

    @TableField(exist = false)
    @Excel(name = "商户", width = 20, orderNum = "8")
    private String merchantName;

    @TableField(exist = false)
    private Long merchantId;

    @TableField(exist = false)
    private Integer merchantMeterStatus;

}
