|
|
@ -153,9 +153,18 @@ public class DataProcessServiceImpl implements DataProcessService { |
|
|
|
String timeString = data.getTs(); |
|
|
|
String timeString = data.getTs(); |
|
|
|
OffsetDateTime utcDateTime; |
|
|
|
OffsetDateTime utcDateTime; |
|
|
|
try { |
|
|
|
try { |
|
|
|
utcDateTime = OffsetDateTime.parse(timeString, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ")); |
|
|
|
// 尝试多种常见的时间格式
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
utcDateTime = OffsetDateTime.parse(timeString, DateTimeFormatter.ISO_OFFSET_DATE_TIME); |
|
|
|
|
|
|
|
} catch (DateTimeParseException e1) { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
utcDateTime = OffsetDateTime.parse(timeString, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss[XXX][XX][X]")); |
|
|
|
|
|
|
|
} catch (DateTimeParseException e2) { |
|
|
|
|
|
|
|
utcDateTime = OffsetDateTime.parse(timeString, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS[XXX][XX][X]")); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} catch (DateTimeParseException e) { |
|
|
|
} catch (DateTimeParseException e) { |
|
|
|
log.error("时间格式解析异常", e); |
|
|
|
log.error("时间格式解析异常,时间字符串: {}", timeString, e); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
// 2. 转换为中国时区(UTC+8)
|
|
|
|
// 2. 转换为中国时区(UTC+8)
|
|
|
@ -167,9 +176,13 @@ public class DataProcessServiceImpl implements DataProcessService { |
|
|
|
String formattedTime = chinaDateTime.format( |
|
|
|
String formattedTime = chinaDateTime.format( |
|
|
|
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") |
|
|
|
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
String dString = data.getD().toString(); |
|
|
|
|
|
|
|
// 替换掉inf
|
|
|
|
|
|
|
|
if (dString.contains("inf")) { |
|
|
|
|
|
|
|
dString = dString.replace("inf", "0"); |
|
|
|
|
|
|
|
} |
|
|
|
// 假设 data 是一个包含 JSON 数据的对象
|
|
|
|
// 假设 data 是一个包含 JSON 数据的对象
|
|
|
|
List<AdvantechDatas> list = JSON.parseObject(data.getD().toString(), new TypeReference<List<AdvantechDatas>>() {}); |
|
|
|
List<AdvantechDatas> list = JSON.parseObject(dString, new TypeReference<List<AdvantechDatas>>() {}); |
|
|
|
for (AdvantechDatas advantechDatas : list) { |
|
|
|
for (AdvantechDatas advantechDatas : list) { |
|
|
|
String tag = advantechDatas.getTag(); |
|
|
|
String tag = advantechDatas.getTag(); |
|
|
|
String value = String.valueOf(advantechDatas.getValue()); |
|
|
|
String value = String.valueOf(advantechDatas.getValue()); |
|
|
@ -494,7 +507,7 @@ public class DataProcessServiceImpl implements DataProcessService { |
|
|
|
DeviceReport deviceReport = new DeviceReport(); |
|
|
|
DeviceReport deviceReport = new DeviceReport(); |
|
|
|
deviceReport.setDeviceNum(collectionParamsManage.getMtNum()); |
|
|
|
deviceReport.setDeviceNum(collectionParamsManage.getMtNum()); |
|
|
|
deviceReport.setCurTime(collectionParamsManage.getCurTime()); |
|
|
|
deviceReport.setCurTime(collectionParamsManage.getCurTime()); |
|
|
|
if (null == dataProcessMapper.isHaveData(deviceReport, tableName)) { |
|
|
|
if (null != dataProcessMapper.isHaveData(deviceReport, tableName)) { |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
dataProcessMapper.batchInsertChiller(List.of(collectionParamsManage), tableName); |
|
|
|
dataProcessMapper.batchInsertChiller(List.of(collectionParamsManage), tableName); |
|
|
|