From 913d812c9b98b2f5478c3a11210704e606c05dad Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Thu, 15 May 2025 09:17:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E5=A4=B4bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/task/ElectricalTask.java | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/task/ElectricalTask.java b/src/main/java/com/zhgd/xmgl/task/ElectricalTask.java index 1d3625a15..09525257c 100644 --- a/src/main/java/com/zhgd/xmgl/task/ElectricalTask.java +++ b/src/main/java/com/zhgd/xmgl/task/ElectricalTask.java @@ -140,19 +140,22 @@ public class ElectricalTask { log.info("电箱实时数据" + execute.body()); JSONObject result = JSONObject.parseObject(execute.body()).getJSONObject("result"); JSONObject metric = result.getJSONObject("metric"); - String temperatures = String.format("%.1f", Double.parseDouble(result.getJSONArray("temperatures").getJSONObject(0).getString("temperature"))); - ElectricalData electricalData = new ElectricalData(devId, - metric.getString("modified"), - String.format("%.1f", Double.parseDouble(metric.getString("voltage_a"))), - String.format("%.1f", Double.parseDouble(metric.getString("voltage_b"))), - String.format("%.1f", Double.parseDouble(metric.getString("voltage_c"))), - String.format("%.1f", Double.parseDouble(metric.getString("current_a"))), - String.format("%.1f", Double.parseDouble(metric.getString("current_b"))), - String.format("%.1f", Double.parseDouble(metric.getString("current_c"))), - String.format("%.1f", Double.parseDouble(result.getJSONArray("leakages").getJSONObject(0).getString("leakage"))), - temperatures, temperatures, temperatures, - temperatures); - electricalDataService.saveElectricalData(electricalData); + JSONArray jsonArray = result.getJSONArray("temperatures"); + if (CollUtil.isNotEmpty(jsonArray)) { + String temperatures = String.format("%.1f", Double.parseDouble(jsonArray.getJSONObject(0).getString("temperature"))); + ElectricalData electricalData = new ElectricalData(devId, + metric.getString("modified"), + String.format("%.1f", Double.parseDouble(metric.getString("voltage_a"))), + String.format("%.1f", Double.parseDouble(metric.getString("voltage_b"))), + String.format("%.1f", Double.parseDouble(metric.getString("voltage_c"))), + String.format("%.1f", Double.parseDouble(metric.getString("current_a"))), + String.format("%.1f", Double.parseDouble(metric.getString("current_b"))), + String.format("%.1f", Double.parseDouble(metric.getString("current_c"))), + String.format("%.1f", Double.parseDouble(result.getJSONArray("leakages").getJSONObject(0).getString("leakage"))), + temperatures, temperatures, temperatures, + temperatures); + electricalDataService.saveElectricalData(electricalData); + } return true; } return false;