From 87a2fe3e6f1472a7e87e02d3fd956eee17b85352 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期四, 12 十月 2023 15:28:33 +0800 Subject: [PATCH] 抽油机状态入库 --- ard-work/src/main/java/com/ruoyi/statistical/service/StatisticalService.java | 2 + ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java | 9 ++++ ard-work/src/main/java/com/ruoyi/statistical/domain/PumpStatus.java | 3 + ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java | 45 ++++++++++++++++++++++ ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java | 6 ++- 5 files changed, 62 insertions(+), 3 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java b/ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java index 4708e92..796bfae 100644 --- a/ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java +++ b/ard-work/src/main/java/com/ruoyi/statistical/controller/StatisticalController.java @@ -243,4 +243,13 @@ return Results.succeed(statisticalService.pump()); } + /** + * 鏁版嵁澶勭悊 + */ + @ApiOperation("鏁版嵁澶勭悊") + @GetMapping("data") + public void data(String msg){ + statisticalService.data(msg); + } + } diff --git a/ard-work/src/main/java/com/ruoyi/statistical/domain/PumpStatus.java b/ard-work/src/main/java/com/ruoyi/statistical/domain/PumpStatus.java index 30bbacd..6c5e76f 100644 --- a/ard-work/src/main/java/com/ruoyi/statistical/domain/PumpStatus.java +++ b/ard-work/src/main/java/com/ruoyi/statistical/domain/PumpStatus.java @@ -1,5 +1,6 @@ package com.ruoyi.statistical.domain; +import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; /** @@ -7,7 +8,7 @@ */ @Data public class PumpStatus { - private String id; + private Integer targetId; private String name; private String alarmType; private String alarmTime; diff --git a/ard-work/src/main/java/com/ruoyi/statistical/service/StatisticalService.java b/ard-work/src/main/java/com/ruoyi/statistical/service/StatisticalService.java index 6c1945f..3de5178 100644 --- a/ard-work/src/main/java/com/ruoyi/statistical/service/StatisticalService.java +++ b/ard-work/src/main/java/com/ruoyi/statistical/service/StatisticalService.java @@ -61,4 +61,6 @@ List<TenVo> ten(); List<TenVo> pump(); + + void data(String msg); } diff --git a/ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java b/ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java index 2275bda..f5b13e3 100644 --- a/ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.statistical.service.impl; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.alarm.access.mapper.ArdAlarmAccessMapper; import com.ruoyi.alarm.apponekey.mapper.ArdAlarmApponekeyMapper; @@ -397,6 +398,50 @@ return list; } + @Override + public void data(String msg) { + JSONObject jsonObject = JSONObject.parseObject(msg); + String alarmTime = jsonObject.getString("alarmTime"); + List<JSONObject> list = (List<JSONObject>) jsonObject.get("ardAlarmRadars"); + if(list.size()>0){ + for (int i = 0; i < list.size(); i++) { + JSONObject j = list.get(i); + QueryWrapper<PumpStatus> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("target_id",j.getInteger("targetId")).eq("name",j.getString("name")); + PumpStatus pumpStatus1 = pumpStatusMapper.selectOne(queryWrapper); + if(pumpStatus1==null){ + PumpStatus pumpStatus = new PumpStatus(); + pumpStatus.setTargetId(j.getInteger("targetId")); + pumpStatus.setName(j.getString("name")); + if(j.containsKey("alarmType")){ + pumpStatus.setAlarmType(j.getString("alarmType")); + }else if(j.containsKey("alarm")){ + pumpStatus.setAlarmType(j.getString("alarm")); + } + pumpStatus.setAlarmTime(alarmTime); + pumpStatusMapper.insert(pumpStatus); + }else { + String alarmType = pumpStatus1.getAlarmType(); + Boolean bo = false; + if(j.containsKey("alarmType")){ + if(alarmType.equals(j.getString("alarmType"))){ + bo = true; + } + }else if(j.containsKey("alarm")){ + if(alarmType.equals(j.getString("alarm"))){ + bo = true; + } + } + if(!bo){ + pumpStatus1.setAlarmType(j.getString("alarmType")); + pumpStatus1.setAlarmTime(alarmTime); + pumpStatusMapper.updateById(pumpStatus1); + } + } + } + } + } + public List<CountVo> es(List<CountVo> list){ List<CountVo> countVoList = new ArrayList<>(); for (int i = 1; i <= 12 ; i++) { diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java index 9aa003f..7e2a2d3 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java +++ b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java @@ -2,6 +2,7 @@ import com.ruoyi.alarm.global.service.impl.GlobalAlarmServiceImpl; import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.statistical.service.StatisticalService; import com.ruoyi.storage.minio.service.IStorageMinioEventService; import lombok.extern.slf4j.Slf4j; import org.eclipse.paho.client.mqttv3.*; @@ -80,8 +81,9 @@ } if (topic.equals("radarWellData")) { - IStorageMinioEventService storageMinioEventService = SpringUtils.getBean(IStorageMinioEventService.class); - storageMinioEventService.parseStorageMinioEvent(new String(message.getPayload(), StandardCharsets.UTF_8)); +// System.out.println(new String(message.getPayload(), StandardCharsets.UTF_8)); + StatisticalService statisticalService = SpringUtils.getBean(StatisticalService.class); + statisticalService.data(new String(message.getPayload(), StandardCharsets.UTF_8)); } } catch (Exception e) { log.debug("澶勭悊mqtt娑堟伅寮傚父:" + e); -- Gitblit v1.9.3