优化交换机数据入库
This commit is contained in:
@@ -342,14 +342,15 @@ public class DeviceMessageHandler {
|
||||
private void handleSwitchPwrMessage(CollectDataVo switchDataVo, String clientId){
|
||||
List<InitialSwitchPowerSupply> powerSupplyList = SwitchJsonDataParser.parseJsonData(switchDataVo.getValue(), InitialSwitchPowerSupply.class);
|
||||
if (!powerSupplyList.isEmpty()){
|
||||
InitialSwitchPowerSupply insertData = powerSupplyList.get(0);
|
||||
// 时间戳转换
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
initialSwitchPowerSupplyService.insertInitialSwitchPowerSupply(insertData);
|
||||
for (InitialSwitchPowerSupply insertData : powerSupplyList) {
|
||||
// 时间戳转换
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
}
|
||||
initialSwitchPowerSupplyService.insertBatchInitialSwitchPowerSupply(powerSupplyList);
|
||||
}
|
||||
}
|
||||
/**
|
||||
@@ -359,14 +360,15 @@ public class DeviceMessageHandler {
|
||||
private void handleSwitchModuleMessage(CollectDataVo switchDataVo, String clientId){
|
||||
List<InitialSwitchOpticalModule> moduleList = SwitchJsonDataParser.parseJsonData(switchDataVo.getValue(), InitialSwitchOpticalModule.class);
|
||||
if (!moduleList.isEmpty()){
|
||||
InitialSwitchOpticalModule insertData = moduleList.get(0);
|
||||
// 时间戳转换
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
initialSwitchOpticalModuleService.insertInitialSwitchOpticalModule(insertData);
|
||||
for (InitialSwitchOpticalModule insertData : moduleList) {
|
||||
// 时间戳转换
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
}
|
||||
initialSwitchOpticalModuleService.batchInitialSwitchOpticalModule(moduleList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -377,14 +379,15 @@ public class DeviceMessageHandler {
|
||||
private void handleSwitchMpuMessage(CollectDataVo switchDataVo, String clientId){
|
||||
List<InitialSwitchMpuInfo> mpuList = SwitchJsonDataParser.parseJsonData(switchDataVo.getValue(), InitialSwitchMpuInfo.class);
|
||||
if (!mpuList.isEmpty()){
|
||||
InitialSwitchMpuInfo insertData = mpuList.get(0);
|
||||
// 时间戳转换
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
initialSwitchMpuInfoService.insertInitialSwitchMpuInfo(insertData);
|
||||
for (InitialSwitchMpuInfo insertData : mpuList) {
|
||||
// 时间戳转换
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
}
|
||||
initialSwitchMpuInfoService.insertBatchInitialSwitchMpuInfo(mpuList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,14 +398,15 @@ public class DeviceMessageHandler {
|
||||
private void handleSwitchFanMessage(CollectDataVo switchDataVo, String clientId){
|
||||
List<InitialSwitchFanInfo> fanList = SwitchJsonDataParser.parseJsonData(switchDataVo.getValue(), InitialSwitchFanInfo.class);
|
||||
if (!fanList.isEmpty()){
|
||||
InitialSwitchFanInfo insertData = fanList.get(0);
|
||||
// 时间戳转换
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
initialSwitchFanInfoService.insertInitialSwitchFanInfo(insertData);
|
||||
for (InitialSwitchFanInfo insertData : fanList) {
|
||||
// 时间戳转换
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
}
|
||||
initialSwitchFanInfoService.insertBatchInitialSwitchFanInfo(fanList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -410,54 +414,47 @@ public class DeviceMessageHandler {
|
||||
* 其他发现数据(默认处理)
|
||||
* @param switchDataVo
|
||||
*/
|
||||
private void handleSwitchOtherMessage(CollectDataVo switchDataVo, String clientId){
|
||||
if (switchDataVo != null){
|
||||
private void handleSwitchOtherMessage(CollectDataVo switchDataVo, String clientId) {
|
||||
if (switchDataVo != null) {
|
||||
try {
|
||||
InitialSwitchOtherCollectData insertData = new InitialSwitchOtherCollectData();
|
||||
|
||||
// 时间戳转换
|
||||
// 设置基本信息
|
||||
long timestamp = switchDataVo.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
|
||||
Date createTime = new Date(timestamp * 1000 / 1000 * 1000);
|
||||
insertData.setClientId(clientId);
|
||||
insertData.setCreateTime(createTime);
|
||||
|
||||
String value = switchDataVo.getValue();
|
||||
|
||||
// 解析JSON字符串
|
||||
JsonNode jsonNode = objectMapper.readTree(value);
|
||||
|
||||
// 获取第一个字段的key和value
|
||||
if (jsonNode.isObject() && jsonNode.fields().hasNext()) {
|
||||
Map.Entry<String, JsonNode> entry = jsonNode.fields().next();
|
||||
String fieldName = entry.getKey();
|
||||
String fieldValue = entry.getValue().asText();
|
||||
|
||||
insertData.setCollectType(fieldName);
|
||||
if(!"null".equals(fieldValue)){
|
||||
insertData.setCollectValue(fieldValue);
|
||||
}
|
||||
} else if (jsonNode.isArray() && jsonNode.size() > 0) {
|
||||
// 处理数组格式 [{}]
|
||||
// 处理数组中的字符串JSON
|
||||
if (jsonNode.isArray() && jsonNode.size() > 0) {
|
||||
JsonNode firstElement = jsonNode.get(0);
|
||||
if (firstElement.isObject() && firstElement.fields().hasNext()) {
|
||||
Map.Entry<String, JsonNode> entry = firstElement.fields().next();
|
||||
String fieldName = entry.getKey();
|
||||
String fieldValue = entry.getValue().asText();
|
||||
|
||||
insertData.setCollectType(fieldName);
|
||||
if(!"null".equals(fieldValue)){
|
||||
insertData.setCollectValue(fieldValue);
|
||||
if (firstElement.isTextual()) {
|
||||
// 二次解析JSON字符串
|
||||
JsonNode innerJsonNode = objectMapper.readTree(firstElement.asText());
|
||||
|
||||
if (innerJsonNode.isObject()) {
|
||||
Iterator<Map.Entry<String, JsonNode>> fields = innerJsonNode.fields();
|
||||
if (fields.hasNext()) {
|
||||
Map.Entry<String, JsonNode> entry = fields.next();
|
||||
String fieldName = entry.getKey();
|
||||
String fieldValue = entry.getValue().asText();
|
||||
|
||||
insertData.setCollectType(fieldName);
|
||||
if (!"null".equals(fieldValue)) {
|
||||
insertData.setCollectValue(fieldValue);
|
||||
insertInitialSwitchOtherInfo.insertInitialSwitchOtherCollectData(insertData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
insertInitialSwitchOtherInfo.insertInitialSwitchOtherCollectData(insertData);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("解析JSON数据失败: {}, value: {}", e.getMessage(), switchDataVo.getValue());
|
||||
// 可以选择保存原始数据或进行其他错误处理
|
||||
log.error("解析JSON数据失败: {}, value: {}", e.getMessage(), switchDataVo.getValue(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user