package cn.cecep.talroad.domain;


import cn.cecep.talroad.common.core.annotation.Excel;
import cn.cecep.talroad.common.core.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigInteger;


/**
 * 基础信息 与 产治排跟踪--视频设施清单对象 m_am_video_dev_fi
 *
 * @author szhpt
 * @date 2023-02-10*/
@ApiModel(value = "基础信息 与 产治排跟踪--视频设施清单")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("m_am_video_dev_fi")
public class MAmVideoDevFi extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "设备主键")
    /** 设备主键 */
    @TableId(value = "id",type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private BigInteger id;


    @ApiModelProperty(value = "摄像头ID")
    /** 摄像头ID */
    @Excel(name = "摄像头ID")
    private String devId;


    @ApiModelProperty(value = "摄像头名称")
    /** 摄像头名称 */
    @Excel(name = "摄像头名称")
    private String devName;


    @ApiModelProperty(value = "摄像头内部编号")
    /** 摄像头内部编号 */
    @Excel(name = "摄像头内部编号")
    private String devInsideCode;


    @ApiModelProperty(value = "验证码")
    /** 验证码 */
    @Excel(name = "验证码")
    private String devCode;


    @ApiModelProperty(value = "型号")
    /** 型号 */
    @Excel(name = "型号")
    private String model;


    @ApiModelProperty(value = "通道号")
    /** 通道号 */
    @Excel(name = "通道号")
    private String modelRoad;


    @ApiModelProperty(value = "安装位置")
    /** 安装位置 */
    @Excel(name = "安装位置")
    private String location;


    @ApiModelProperty(value = "经度(地图)")
    /** 经度(地图) */
    @Excel(name = "经度(地图)")
    private String lonMap;


    @ApiModelProperty(value = "纬度(地图)")
    /** 纬度(地图) */
    @Excel(name = "纬度(地图)")
    private String latMap;


    @ApiModelProperty(value = "备注说明")
    /** 备注说明 */
    @Excel(name = "备注说明")
    private String descrAny;

    @ApiModelProperty(value = "企业id")
    /** 企业id */
    @Excel(name = "企业id")
    private String factoryId;


    @ApiModelProperty(value = "排口id")
    /** 排口id */
    @Excel(name = "排口id")
    private String outletId;


    @ApiModelProperty(value = "设备类型")
    /** 设备类型 */
    @Excel(name = "设备类型")
    private String devType;


    @ApiModelProperty(value = "设备来源")
    /** 设备来源 */
    @Excel(name = "设备来源")
    private String devSource;
    @ApiModelProperty(value = "设备id，用于视频来源于GB28181")
    /** 设备id，用于视频来源于GB28181 */
    private String gbsDeviceId;
    private String channelId;
    private String status;
    private String stationBuildingMn;
    private String deviceId;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("devId", getDevId())
            .append("devName", getDevName())
            .append("devInsideCode", getDevInsideCode())
            .append("devCode", getDevCode())
            .append("model", getModel())
            .append("modelRoad", getModelRoad())
            .append("location", getLocation())
            .append("lonMap", getLonMap())
            .append("latMap", getLatMap())
            .append("descrAny", getDescrAny())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("factoryId", getFactoryId())
            .append("outletId", getOutletId())
            .append("devType", getDevType())
            .append("devSource", getDevSource())
            .toString();
    }
}
