示例说明

针对一些报警以及事件类型ID,可参考 自定义类型说明
有些字段数据可能会因为不同设备类型的原因,字段数据无意义,如果用不上,可忽略

一、定位数据

    @PostMapping("/receiveLocationData")
    public MBackResult receiveLocationData(@RequestHeader(value = "headerKey", required = true) String headerKey, @RequestBody TerminalLocation param) {
        log.info("ReceiveLocationData:" + JSON.toJSON(param));
        MBackResult result = new MBackResult();
        result.setResult(200);
        return result;
    }

TerminalLocation对象详解

@Data
public class TerminalLocation {
    /**
     * 设备号
     */
    public String assetId;
    /**
     * 经度(WGS-84)
     */
    public Double longitude = 0.0d;
    /**
     * 纬度(WGS-84)
     */
    public Double latitude = 0.0d;
    /**
     * 速度(km/h)
     */
    public Integer speed;
    /**
     * 方向(0~360)
     */
    public Integer direction = 0;
    /**
     * 里程(km)
     */
    public Long mileage = 0L;
    /**
     * 定位时间(UTC)
     */
    public String gpsTime;
    /**
     * 接收时间(UTC)
     */
    public String recvTime;
    /**
     * 定位类型
     */
    public Integer locType = 0;
    /**
     * GPRS信号
     */
    public Integer cellSignal = 0;
    /**
     * 卫星信号
     */
    public Integer gnssSignal = 0;
    /**
     * 小区码数据 ,MNC,MCC,LAC,CID
     */
    public String cells;
    /**
     * 电量
     */
    public Integer battery;
    /**
     * 电压
     */
    public String voltage;
    /**
     * 车载/锁状态JSON
     */
    public String statusJson;
    /**
     * 拓展信息JSON
     */
    public String expandInfo;
}

车载/锁信息JSON说明

@Data
public class StatusJson {
      /**
     * 锁状态(0:关 1:开)
     */
    private Integer lockStatus;
    /**
     * 锁绳状态(1: 拔出 0:插入 -1:无)
     */
    private Integer lockRope;
    /**
     * 索条状态(0:未知;1:在线;2:弯曲;3:锯断;4:丢失)
     */
    private Integer lockBar;
    /**
     * 引擎开关状态( 1:开 0:关 -1:无)
     */
    private Integer acc;
    /**
     * 断油电开关状态 (1:开 0:关 -1:无)
     */
    private Integer fuelCut;
    /**
     * 开关门状态(1:开 0:关 -1:无)
     */
    private Integer door;
    /**
     * 发动机状态(1:开 0:关 -1:无)
     */
    private Integer engine;
}
}

拓展信息JSON说明

@Data
public class ExpendInfo {
     /**
     * 温度 -1000表示无
     */
    private String temperature;
    /**
     * 湿度 0表示无
     */
    private String humidity;
    /**
     * 备用电池 ("55,3.88,0")
     */
    private String backBattery;
    /**
     * 油位值;-1:标识无效
     */
    private String fuels;
    /**
     * 加速度(格式如:"x:1;y:-29;z:-2903")
     */
    private String acceleration;
    /**
     * 光照度(lux)
     */
    private String lux;
    /**
     * 气压(pa)
     */
    private String pressure;
    /**
     * 姿态信息(格式如:"x:1;y:-29;z:-2903")
     */
    private String posture;
    /**
     * 0:未知;1:1G;2:2G;3:3G;4:4G;5:5G
     */
    private String networkType;

    /**
     * 0:实时;1:补报;2:报警
     */
    private String reportType;
}

二、报警数据

    @PostMapping("/receiveAlarmData")
    public MBackResult receiveAlarmData(@RequestHeader(value = "headerKey", required = true) String headerKey, @RequestBody TerminalAlarm param) {
        log.info("receiveAlarmData:" + JSON.toJSON(param));
        MBackResult result = new MBackResult();
        result.setResult(200);
        return result;
    }

TerminalAlarm对象详解

@Data
public class TerminalAlarm {
    /**
     * 设备号
     */
    public String assetId;
    /**
     * 报警类型
     */
    public int alarmType;
    /**
     * 时间(UTC)
     */
    public String dateTime;
    /**
     * 经度(WGS-84)
     */
    public Double longitude = 0.0d;
    /**
     * 纬度(WGS-84)
     */
    public Double latitude = 0.0d;
    /**
     * 速度(km/h)
     */
    public Integer speed;
    /**
     * 里程(km)
     */
    public Long mileage;
    /**
     * 小区码(mcc,mnc,lac,cellid)
     */
    public String cells;
    /**
     * 报警描述
     */
    public String describe;
    /**
     * 附件ID
     */
    public String fileIndex;
}

三、事件数据

    @PostMapping("/receiveEventData")
    public MBackResult receiveEventData(@RequestHeader(value = "headerKey", required = true) String headerKey, @RequestBody TerminalEvent param) {
        log.info("receiveEventData:" + JSON.toJSON(param));
        MBackResult result = new MBackResult();
        result.setResult(200);
        return result;
    }

TerminalEvent对象详解

@Data
public class TerminalEvent {
    /**
     * 设备号
     */
    public String assetId;
    /**
     * 事件类型
     */
    public Integer eventType;
    /**
     * 开锁类型
     */
    public Integer unLockType;
    /**
     * 时间(utc)
     */
    public String dateTime;
    /**
     * 经度(wgs-84)
     */
    public Double longitude = 0.0d;
    /**
     * 纬度(wgs-84)
     */
    public Double latitude = 0.0d;
    /**
     * 速度(km/h)
     */
    public Integer speed;
    /**
     * 里程(km)
     */
    public Long mileage;
    /**
     * 小区码数据(mcc,mnc,lac,cellid)
     */
    public String cells;
    /**
     * 刷卡开锁卡号
     */
    public String card;
    /**
     * 开锁密码
     */
    public String password;
}

四、指令应答数据

    @PostMapping("/receiveInsData")
    public MBackResult receiveInsData(@RequestHeader(value = "headerKey", required = true) String headerKey, @RequestBody TerminalCommand param) {
        log.info("receiveInsData:" + JSON.toJSON(param));
        MBackResult result = new MBackResult();
        result.setResult(200);
        return result;
    }

TerminalCommand对象详解

@Data
public class TerminalCommand {
    /**
     * 设备号
     */
    public String assetId;
    /**
     * 指令类型
     */
    public String commandType;
    /**
     * 指令内容
     */
    public String content;
    /**
     * 时间(utc)
     */
    public String dateTime;
}

五、从机数据

    @PostMapping("/receiveInsData")
    public MBackResult receiveInsData(@RequestHeader(value = "headerKey", required = true) String headerKey, @RequestBody SlaveMachineLocation param) {
        log.info("receiveInsData:" + JSON.toJSON(param));
        MBackResult result = new MBackResult();
        result.setResult(200);
        return result;
    }

SlaveMachineLocation对象详解

    /// <summary>
    /// 从机数据
    /// </summary>
    public class SlaveMachineLocation
    {
        /// <summary>
        /// 主锁设备ID
        /// </summary>
        public String assetId ;
        /// <summary>
        /// 主锁经度(WGS-84)
        /// </summary>
        public Double longitude  = 0.0d;
        /// <summary>
        /// 主锁纬度(WGS-84)
        /// </summary>
        public Double latitude   = 0.0d;
        /// <summary>
        /// 主锁速度
        /// </summary>
        public Integer speed ;
        /// <summary>
        /// 主锁方向
        /// </summary>
        public Integer direction ;
        /// <summary>
        /// 主锁定位时间(UTC时间)
        /// </summary>
        public String gpsTime ;
        /// <summary>
        /// 主锁接收时间(UTC时间)
        /// </summary>
        public String recvTime ;
        /// <summary>
        /// 从机定位时间(UTC时间
        /// </summary>
        public String subGpsTime ;
        /// <summary>
        /// 从机电量
        /// </summary>
        public Integer battery ;
        /// <summary>
        /// 从机电压
        /// </summary>
        public String voltage ;
        /// <summary>
        /// 从机设备号
        /// </summary>
        public String subAssetID ;
        /// <summary>
        /// 从机类型  1-JT126  4-JT709  5-JT801  6-JT802 
        /// </summary>
        public Integer sensorType ;
        /// <summary>
        /// 针对802设备的状态数据(Json字符串),其它类型设备数据可忽略
        /// </summary>
        public String statusJson ;
        /// <summary>
        /// 从机锁状态  0-关 1-开
        /// </summary>
        public Integer locStatus ;
        /// <summary>
        /// 从机锁绳状态   0-关 1-开
        /// </summary>
        public Integer locRope;
        /// <summary>
        ///RSSI
        /// </summary>
        public Integer rssi ;
        /// <summary>
        /// 从机温度 -1000表示无
        /// </summary>
        public Double temperature = -1000.0;
        /// <summary>
        /// 从机湿度 0表示无
        /// </summary>
        public Integer humidity ;
        /// <summary>
        /// 从机事件 -1:无 0:关锁事件 1:蓝牙开锁事件 2:开后盖报警 3:远程开锁事件 4:锁绳剪断报警 5:按键唤醒事件 6:心跳包事件 7:充电唤醒事件 8/20:拔出锁绳事件 9:RFID开锁事件  10:刷非法卡报警  14:从机信号丢失报警 15:阀门关闭事件 16:阀门打开事件 17:低电量报警 18:防拆卸报警 19:电子仓拆卸事件 21:锁绳插入 22:蓝牙连接唤醒 23:应急仓打开报警 24:应急仓关闭报警 25:阀门异常打开报警 26:锁销关闭事件 27:锁销开启事件 28:关锁异常 29:电机异常  30:NFC触发
        /// </summary>
        public Integer eventType  = -1;
        /// <summary>
        /// 从机开锁次数
        /// </summary>
        public Integer locTimes ;
        /// <summary>
        /// 从机定位时间戳
        /// </summary>
        public Long subGpsTimestamp ;
    }
文档更新时间: 2023-12-07 15:44   作者:刘家帅