package com.aidex.common.plush.domain;

import lombok.Data;
import com.aidex.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.aidex.common.utils.log.annotation.FieldRemark;
import com.aidex.common.utils.log.annotation.LogField;
import com.aidex.common.annotation.Excel;

/**
 * 报警信息推送表对象 gps_alarm_plush
 * @author gshk
 * @email shs@woshs.com
 * @date 2024-03-27
 */
@Data
public class GpsAlarmPlush
{
    private static final long serialVersionUID = 1L;

    private String id;

    /** 所属用户名称 */
    @Excel(name = "所属用户名称")
    @LogField
    @FieldRemark(name = "所属用户名称",field = "userName")
    private String userName;

    /** 设备编号[在GPS系统的唯一ID，即设备IMEI号] */
    @Excel(name = "设备编号[在GPS系统的唯一ID，即设备IMEI号]")
    @LogField
    @FieldRemark(name = "设备编号[在GPS系统的唯一ID，即设备IMEI号]",field = "macid")
    private String macid;

    /** 设备名称(车牌号) */
    @Excel(name = "设备名称(车牌号)")
    @LogField
    @FieldRemark(name = "设备名称(车牌号)",field = "fullName")
    private String fullName;

    /** 报警时间(utc) 毫秒数时间戳 */
    @Excel(name = "报警时间(utc) 毫秒数时间戳")
    @LogField
    @FieldRemark(name = "报警时间(utc) 毫秒数时间戳",field = "pTime")
    private Long pTime;

    /** 添加时间(utc) 毫秒数时间戳 */
    @Excel(name = "添加时间(utc) 毫秒数时间戳")
    @LogField
    @FieldRemark(name = "添加时间(utc) 毫秒数时间戳",field = "addTime")
    private Long addTime;

    /** 纬度 */
    @Excel(name = "纬度")
    @LogField
    @FieldRemark(name = "纬度",field = "lat")
    private String lat;

    /** 经度 */
    @Excel(name = "经度")
    @LogField
    @FieldRemark(name = "经度",field = "lon")
    private String lon;

    /** 地图纬度，默认百度纬度 */
    @LogField
    @FieldRemark(name = "地图纬度，默认百度纬度",field = "mapLat")
    private String mapLat;

    /** 地图经度，默认百度经度 */
    @LogField
    @FieldRemark(name = "地图经度，默认百度经度",field = "mapLon")
    private String mapLon;

    /** 速度 */
    @LogField
    @FieldRemark(name = "速度",field = "speed")
    private Long speed;

    /** 方向 */
    @LogField
    @FieldRemark(name = "方向",field = "dir")
    private Long dir;

    /** 报警类型[参照报警字段对应表] */
    @LogField
    @FieldRemark(name = "报警类型[参照报警字段对应表]",field = "classify")
    private Long classify;

    /** 报警类型[扩展] */
    @LogField
    @FieldRemark(name = "报警类型[扩展]",field = "describe")
    private Long describe;

    /** 描述信息 */
    @LogField
    @FieldRemark(name = "描述信息",field = "notea")
    private String notea;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userName", getUserName())
            .append("macid", getMacid())
            .append("fullName", getFullName())
            .append("pTime", getPTime())
            .append("addTime", getAddTime())
            .append("lat", getLat())
            .append("lon", getLon())
            .append("mapLat", getMapLat())
            .append("mapLon", getMapLon())
            .append("speed", getSpeed())
            .append("dir", getDir())
            .append("classify", getClassify())
            .append("describe", getDescribe())
            .append("notea", getNotea())
            .append("id", getId())
            .toString();
    }
}
