iot对接
This commit is contained in:
parent
88c81c9010
commit
b68472cd98
|
|
@ -1,5 +1,6 @@
|
|||
package com.bonus.material.iot.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.material.iot.dto.GpsData;
|
||||
import com.bonus.material.iot.dto.PhaseData;
|
||||
|
|
@ -145,12 +146,14 @@ public class IotDataController {
|
|||
GpsData data = new GpsData();
|
||||
|
||||
try {
|
||||
// 解析 JSON 数据
|
||||
JsonNode rootNode = objectMapper.readTree(rawData);
|
||||
|
||||
// 解析 JSON 数据
|
||||
//JsonNode rootNode = objectMapper.readTree(JSON.parseObject(rawData).getString("payload"));
|
||||
JsonNode rootNode = objectMapper.readTree(rawData);
|
||||
// 1. 解析 UUID
|
||||
parseUuid(rootNode, data);
|
||||
|
||||
//解析设备类型
|
||||
parseType(rootNode, data);
|
||||
// 2. 解析位置信息
|
||||
parsePositionData(rootNode, data);
|
||||
|
||||
|
|
@ -186,6 +189,12 @@ public class IotDataController {
|
|||
}
|
||||
}
|
||||
|
||||
private void parseType(JsonNode rootNode, GpsData data) {
|
||||
if (rootNode.has("type")) {
|
||||
data.setType(rootNode.get("type").asText());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析电池电量数据
|
||||
*/
|
||||
|
|
@ -301,11 +310,15 @@ public class IotDataController {
|
|||
private void parseLbsWifiData(String dataStr, GpsData data, String source) {
|
||||
try {
|
||||
String[] parts = dataStr.split(",");
|
||||
if (parts.length >= 3) {
|
||||
if (parts.length == 3) {
|
||||
data.setLatitude(parts[0]);
|
||||
data.setLongitude(parts[1]);
|
||||
data.setAccuracy(parts[2]);
|
||||
data.setPositionSource(source);
|
||||
} else if (parts.length == 2) {
|
||||
data.setLatitude(parts[0]);
|
||||
data.setLongitude(parts[1]);
|
||||
data.setPositionSource(source);
|
||||
} else {
|
||||
logger.warn("{}数据格式不正确,部分不足: {}", source, dataStr);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@ public class GpsData {
|
|||
*/
|
||||
private String uuid;
|
||||
|
||||
/**
|
||||
* 设备类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* UTC时间(GPS时间)
|
||||
* 来源: GNSS数据中的GNRMC或GNGGA语句
|
||||
|
|
|
|||
Loading…
Reference in New Issue