|
|
|
@ -70,14 +70,14 @@ public class MqttServiceImpl {
|
|
|
|
|
//推送单个设备数据
|
|
|
|
|
public void publishData(String deviceID, String time, String sqlExecuting, String tableName, Map<String, String> fieldMap) {
|
|
|
|
|
|
|
|
|
|
String devIdSQL = sqlExecuting.replace("%%DEVID%%", String.valueOf(deviceID));
|
|
|
|
|
String devIdSQL = sqlExecuting.replace("%%DEVID%%", deviceID);
|
|
|
|
|
String newSQL = devIdSQL.replace("%%KEYVALUE%%", "'" + time + "'");
|
|
|
|
|
List<Map<String, Object>> dataOfoneDeviceID = operationDBMapper.getData(newSQL);
|
|
|
|
|
if (!dataOfoneDeviceID.isEmpty()) {
|
|
|
|
|
String jsonStringData = FormatUtil.mqttFormatTransform(dataOfoneDeviceID, fieldMap);
|
|
|
|
|
try {
|
|
|
|
|
String lastRecordTime = "2010-01-01 01:00:00";
|
|
|
|
|
if (mqttUtil.publish2MQTT(jsonStringData)) {
|
|
|
|
|
String lastRecordTime = "";
|
|
|
|
|
if (dataOfoneDeviceID.get(dataOfoneDeviceID.size() - 1).get("d_time") == null) {
|
|
|
|
|
lastRecordTime = dataOfoneDeviceID.get(dataOfoneDeviceID.size() - 1).get("capturetime").toString();
|
|
|
|
|
} else {
|
|
|
|
@ -86,6 +86,9 @@ public class MqttServiceImpl {
|
|
|
|
|
operationDBMapper.updateSyncRecordsTable(tableName, deviceID, lastRecordTime);
|
|
|
|
|
log.debug("表{}设备{}推送成功{}条数据,最后时间{}", tableName, deviceID, dataOfoneDeviceID.size(), lastRecordTime);
|
|
|
|
|
}
|
|
|
|
|
if (dataOfoneDeviceID.size() >= 1000) {
|
|
|
|
|
publishData(deviceID, lastRecordTime, sqlExecuting, tableName, fieldMap);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("表{}设备{}推送异常", tableName, deviceID, e);
|
|
|
|
|
}
|
|
|
|
|