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