diff --git a/RuoYi-Vue-Oracle/src/main/java/com/ruoyi/project/outside/service/impl/OutSideServiceImpl.java b/RuoYi-Vue-Oracle/src/main/java/com/ruoyi/project/outside/service/impl/OutSideServiceImpl.java index d328f76..c628faf 100644 --- a/RuoYi-Vue-Oracle/src/main/java/com/ruoyi/project/outside/service/impl/OutSideServiceImpl.java +++ b/RuoYi-Vue-Oracle/src/main/java/com/ruoyi/project/outside/service/impl/OutSideServiceImpl.java @@ -31,25 +31,27 @@ public class OutSideServiceImpl implements OutSideService { ObjectMapper objectMapper = new ObjectMapper(); JsonNode rootNode = objectMapper.readTree(jsonData); for (JsonNode sensorNode : rootNode.get("sensorDatas")) { - sensorData.setSn(sn); - sensorData.setFlag(sensorNode.get("flag").asText()); - sensorData.setDs(sensorNode.get("gas_value").asText()); - sensorData.setJcjd(sensorNode.get("gas_dec").asInt()); - // 将 gas_status 转换为中文状态描述 - int gasStatus = sensorNode.get("gas_status").asInt(); - String statusDescription = getStatusDescription(gasStatus); // 调用转换方法 - sensorData.setZt(statusDescription); - sensorData.setZl(sensorNode.get("gas_type").asText()); - // 将 gas_unit 转换为对应单位 - int gasUnit = sensorNode.get("gas_unit").asInt(); - String unitDescription = getUnitDescription(gasUnit); // 调用转换方法 - sensorData.setDw(unitDescription); // 将中文单位设置到 dw 字段 - sensorData.setDbz(sensorNode.get("alarml").asText()); - sensorData.setGbz(sensorNode.get("alarmh").asText()); - sensorData.setLc(sensorNode.get("gas_range").asText()); - sensorData.setJcjd(sensorNode.get("gas_dec").asInt());//检测精度 - sensorData.setReportTime(DateUtils.getTime()); - outSideMapper.insertDevice(sensorData); + if (sensorNode.get("flag").asInt()==1) { + sensorData.setSn(sn); + sensorData.setFlag(sensorNode.get("flag").asText()); + sensorData.setDs(sensorNode.get("gas_value").asText()); + sensorData.setJcjd(sensorNode.get("gas_dec").asInt()); + // 将 gas_status 转换为中文状态描述 + int gasStatus = sensorNode.get("gas_status").asInt(); + String statusDescription = getStatusDescription(gasStatus); // 调用转换方法 + sensorData.setZt(statusDescription); + sensorData.setZl(sensorNode.get("gas_type").asText()); + // 将 gas_unit 转换为对应单位 + int gasUnit = sensorNode.get("gas_unit").asInt(); + String unitDescription = getUnitDescription(gasUnit); // 调用转换方法 + sensorData.setDw(unitDescription); // 将中文单位设置到 dw 字段 + sensorData.setDbz(sensorNode.get("alarml").asText()); + sensorData.setGbz(sensorNode.get("alarmh").asText()); + sensorData.setLc(sensorNode.get("gas_range").asText()); + sensorData.setJcjd(sensorNode.get("gas_dec").asInt());//检测精度 + sensorData.setReportTime(DateUtils.getTime()); + outSideMapper.insertDevice(sensorData); + } } return 1; } catch (Exception e) { @@ -82,14 +84,16 @@ public class OutSideServiceImpl implements OutSideService { // 判断是否是数组 if (rootNode.isArray()) { for (JsonNode node : rootNode) { + if (node.get("type").asInt()==5) { SensorData sd = insertOldData(node); - - outSideMapper.insertDevice(sd); + outSideMapper.insertDevice(sd); + } } - } else { - SensorData sd = insertOldData(rootNode); - outSideMapper.insertDevice(sd); } +// else { +// SensorData sd = insertOldData(rootNode); +// outSideMapper.insertDevice(sd); +// } return 0; }