AlarmADASVo.java 6.9 KB
package com.bsth.message.entity;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import java.util.ArrayList;
import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true)
public class AlarmADASVo implements AlarmVo {

    private String clientId;

    /**
     * 车辆编码(内部编码)
     */
    private String vehicleCode;

    /**
     * 设备号
     */
    private String deviceId;

    /**
     * 车牌号
     */
    private String vehiclePlate;

    /**
     * 报警ID
     */
    private String alarmId;

    /**
     * 报警/事件类型
     * 0x01:前向碰撞报警
     * 0x02:车道偏离报警
     * 0x03:车距过近报警
     * 0x04:行人碰撞报警
     * 0x05:频繁变道报警
     * 0x06:道路标识超限报警
     * 0x07:障碍物报警
     * 0x08~0x0F:用户自定义
     * 0x10:道路标志识别事件
     * 0x11:主动抓拍事件
     * 0x12~0x1F:用户自定义
     */
    private int type;

    /**
     * 报警级别
     * 0x01 一级报警
     * 0x02 二级报警
     */
    private int level;

    /**
     * 前车车速(Km/h)范围0~250,仅报警类型为1和2时有效
     */
    private int frontSpeed;

    /**
     * 前车/行人距离(100ms),范围0~100,仅报警类型为1、2和4时有效
     */
    private int frontDistance;

    /**
     * 偏离类型:1.左侧偏离 2.右侧偏离(报警类型为2时有效)
     */
    private int deviateType;

    /**
     * 道路标志识别类型:1.限速标志 2.限高标志 3.限重标志(报警类型为6和10时有效)
     */
    private int roadSign;

    /**
     * 道路标志识别数据
     */
    private int roadSignValue;

    /**
     * 车速
     */
    private int speed;

    /**
     * 高程
     */
    private int altitude;

    /**
     * 纬度
     */
    private int latitude;

    /**
     * 经度
     */
    private int longitude;

    /**
     * 日期时间(ms)
     */
    private long alarmTimeBegin;

    /**
     * 日期时间(ms)
     */
    private long alarmTimeEnd;

    /**
     * 车辆状态
     */
    private int statusBit;

    /**
     * 附件path
     */
    private List<String> paths = new ArrayList<>();

    private String lineCode;

    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

    public String getVehicleCode() {
        return vehicleCode;
    }

    public void setVehicleCode(String vehicleCode) {
        this.vehicleCode = vehicleCode;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getVehiclePlate() {
        return vehiclePlate;
    }

    public void setVehiclePlate(String vehiclePlate) {
        this.vehiclePlate = vehiclePlate;
    }

    public String getAlarmId() {
        return alarmId;
    }

    public void setAlarmId(String alarmId) {
        this.alarmId = alarmId;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

    public int getFrontSpeed() {
        return frontSpeed;
    }

    public void setFrontSpeed(int frontSpeed) {
        this.frontSpeed = frontSpeed;
    }

    public int getFrontDistance() {
        return frontDistance;
    }

    public void setFrontDistance(int frontDistance) {
        this.frontDistance = frontDistance;
    }

    public int getDeviateType() {
        return deviateType;
    }

    public void setDeviateType(int deviateType) {
        this.deviateType = deviateType;
    }

    public int getRoadSign() {
        return roadSign;
    }

    public void setRoadSign(int roadSign) {
        this.roadSign = roadSign;
    }

    public int getRoadSignValue() {
        return roadSignValue;
    }

    public void setRoadSignValue(int roadSignValue) {
        this.roadSignValue = roadSignValue;
    }

    public int getSpeed() {
        return speed;
    }

    public void setSpeed(int speed) {
        this.speed = speed;
    }

    public int getAltitude() {
        return altitude;
    }

    public void setAltitude(int altitude) {
        this.altitude = altitude;
    }

    public int getLatitude() {
        return latitude;
    }

    public void setLatitude(int latitude) {
        this.latitude = latitude;
    }

    public int getLongitude() {
        return longitude;
    }

    public void setLongitude(int longitude) {
        this.longitude = longitude;
    }

    public long getAlarmTimeBegin() {
        return alarmTimeBegin;
    }

    public void setAlarmTimeBegin(long alarmTimeBegin) {
        this.alarmTimeBegin = alarmTimeBegin;
    }

    public long getAlarmTimeEnd() {
        return alarmTimeEnd;
    }

    public void setAlarmTimeEnd(long alarmTimeEnd) {
        this.alarmTimeEnd = alarmTimeEnd;
    }

    public int getStatusBit() {
        return statusBit;
    }

    public void setStatusBit(int statusBit) {
        this.statusBit = statusBit;
    }

    public List<String> getPaths() {
        return paths;
    }

    public void setPaths(List<String> paths) {
        this.paths = paths;
    }

    public String getAlarmType() {
        return "adas";
    }

    public String getLineCode() {
        return lineCode;
    }

    @Override
    public void setLineCode(String lineCode) {
        this.lineCode = lineCode;
    }

    @Override
    public int hashCode() {
        return String.format("%s_%d_%d", this.clientId, this.alarmTimeBegin, this.type).hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        AlarmADASVo other = (AlarmADASVo) obj;

        return this.clientId.equals(other.getClientId()) && this.alarmTimeBegin == other.getAlarmTimeBegin() && this.type == other.getType();
    }

    @Override
    public String toString() {
        return "AlarmADASVo{" +
                "clientId='" + clientId + '\'' +
                ", vehicleCode='" + vehicleCode + '\'' +
                ", deviceId='" + deviceId + '\'' +
                ", vehiclePlate='" + vehiclePlate + '\'' +
                ", alarmId='" + alarmId + '\'' +
                ", type=" + type +
                ", level=" + level +
                ", frontSpeed=" + frontSpeed +
                ", frontDistance=" + frontDistance +
                ", deviateType=" + deviateType +
                ", roadSign=" + roadSign +
                ", roadSignValue=" + roadSignValue +
                ", speed=" + speed +
                ", altitude=" + altitude +
                ", latitude=" + latitude +
                ", longitude=" + longitude +
                ", alarmTimeBegin=" + alarmTimeBegin +
                ", alarmTimeEnd=" + alarmTimeEnd +
                ", statusBit=" + statusBit +
                ", paths=" + paths +
                '}';
    }
}