From b2de54924c342bfa4729e6ee41459525b1576a26 Mon Sep 17 00:00:00 2001 From: "1049970895@qniao.cn" <1049970895> Date: Tue, 13 Sep 2022 14:05:56 +0800 Subject: [PATCH] =?UTF-8?q?bugfix:=E8=BF=87=E6=BB=A4=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=AD=E4=BA=A7=E8=83=BD=E4=B8=BA0?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/IotMachineEventGeneratorJob.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/iot-machine-state-event-generator-job/src/main/java/com/qniao/iot/machine/event/generator/job/IotMachineEventGeneratorJob.java b/iot-machine-state-event-generator-job/src/main/java/com/qniao/iot/machine/event/generator/job/IotMachineEventGeneratorJob.java index c7ad49e..efa7e72 100644 --- a/iot-machine-state-event-generator-job/src/main/java/com/qniao/iot/machine/event/generator/job/IotMachineEventGeneratorJob.java +++ b/iot-machine-state-event-generator-job/src/main/java/com/qniao/iot/machine/event/generator/job/IotMachineEventGeneratorJob.java @@ -137,10 +137,16 @@ public class IotMachineEventGeneratorJob { Long currCount = value.getCurrJobCount(); Integer machineWorkingStat = value.getMachineWorkingStat(); - boolean bool = !(machineWorkingStat == 2 && currCount == 0); + boolean bool = false; + if (currCount == null) { + currCount = 0L; + } + if (machineWorkingStat != null) { + bool = !(machineWorkingStat == 2 && currCount == 0); + } if (bool && value.getMachinePwrStat() != null && value.getMachineIotMac() != null - && value.getMachineWorkingStat() != null && value.getReportTime() != null) { + && value.getReportTime() != null) { long nowTime = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); // 晚30分钟的数据就不要了 return nowTime - value.getReportTime() <= (30 * 60 * 1000); @@ -207,7 +213,7 @@ public class IotMachineEventGeneratorJob { if (reportTime - lastReportTime <= 30 * 60 * 1000) { // 判断是否是机智云还是树根 Integer dataSource = event.getDataSource(); - if(dataSource == 1) { + if (dataSource == 1) { // 树根的需要计算 event.setCurrJobCount(accCount - lastAccJobCount); // 单位是秒 @@ -215,10 +221,10 @@ public class IotMachineEventGeneratorJob { } } } - if((event.getCurrJobCount() != 0 && event.getCurrJobDuration() != 0) + if ((event.getCurrJobCount() != 0 && event.getCurrJobDuration() != 0) || (event.getCurrJobCount() == 0 && event.getCurrJobDuration() == 0)) { MachineIotDataReceivedEvent receivedEvent = collDeviceStatusChange(out, deviceState, lastDataReceivedEvent, event); - if(receivedEvent != null) { + if (receivedEvent != null) { ctx.output(machineIotDataReceivedEventOutput, event); } lastDataReceivedEventState.update(event); @@ -332,7 +338,7 @@ public class IotMachineEventGeneratorJob { if (command instanceof StartMachineWorkingCommand) { // 机器工作 return ApolloConfig.getStr(ConfigConstant.SINK_RABBITMQ_START_MACHINE_WORKING_COMMAND_ROUTING_KEY); - }else { + } else { // 机器命令 return ApolloConfig.getStr(ConfigConstant.SINK_RABBITMQ_MACHINE_COMMAND_ROUTING_KEY); } @@ -502,9 +508,9 @@ public class IotMachineEventGeneratorJob { } private static MachineIotDataReceivedEvent collDeviceStatusChange(Collector out, - DeviceState deviceState, - MachineIotDataReceivedEvent lastDataReceivedEvent, - MachineIotDataReceivedEvent event) { + DeviceState deviceState, + MachineIotDataReceivedEvent lastDataReceivedEvent, + MachineIotDataReceivedEvent event) { Long machineIotMac = event.getMachineIotMac(); Integer dataSource = event.getDataSource();