Просмотр исходного кода

feat:新增测试influxdb连接接口
fix:修复对象中关闭了预警但仍然推送离线预警bug

黄渊昊 16 часов назад
Родитель
Сommit
770fcaf356

+ 5 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/alarm/offline/DeviceOfflineDetectionService.java

@@ -169,7 +169,11 @@ public class DeviceOfflineDetectionService {
         /**
          * jackzhou add 设备下线预警标识
          */
-        if (Objects.isNull(monitorTargetRegion.getDeviceOfflineAlarm()) || !monitorTargetRegion.getDeviceOfflineAlarm()) {
+        MonitorTarget monitorTarget = monitorTargetService.getById(monitorTargetRegion.getMonitorTargetId());
+        if (Objects.isNull(monitorTargetRegion.getDeviceOfflineAlarm()) ||
+                !monitorTargetRegion.getDeviceOfflineAlarm() ||
+                Objects.isNull(monitorTarget.getEnabled()) ||
+                monitorTarget.getEnabled().equals("1")) {
             log.warn("设备未启动设备下线预警设置");
             return;
         }

+ 23 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/bean/influxdb/controller/InfluxDBController.java

@@ -0,0 +1,23 @@
+package vip.xiaonuo.coldchain.core.bean.influxdb.controller;
+
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.coldchain.core.bean.influxdb.service.InfluxDBService;
+import vip.xiaonuo.common.pojo.CommonResult;
+
+@RestController
+public class InfluxDBController {
+    @Resource
+    private InfluxDBService influxDBService;
+
+    /**
+     * 测试influx连通性
+     * @return
+     */
+    @GetMapping("/influxdb/test")
+    public CommonResult<String> influxDBTest() {
+        influxDBService.influxDBTest();
+        return CommonResult.ok();
+    }
+}

+ 19 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/bean/influxdb/service/InfluxDBService.java

@@ -0,0 +1,19 @@
+package vip.xiaonuo.coldchain.core.bean.influxdb.service;
+
+import cn.hutool.core.lang.Assert;
+import com.github.jfcloud.influxdb.service.JfcloudInfluxDBService;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import vip.xiaonuo.coldchain.core.service.JfcloudSensorDataService;
+
+@Service
+public class InfluxDBService {
+
+    @Resource
+    private JfcloudSensorDataService jfcloudSensorDataService;
+    public void influxDBTest() {
+        String fluxQuery = "from(bucket: \"coldchain\") |> range(start: -1m) |> limit(n: 1)";
+        Boolean b = jfcloudSensorDataService.influxDBTest(fluxQuery);
+        Assert.isTrue(b, "influxDB测试失败");
+    }
+}

+ 11 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/service/JfcloudSensorDataService.java

@@ -16,6 +16,7 @@ import vip.xiaonuo.coldchain.core.config.JfcloudColdChainConstants;
 
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -519,4 +520,14 @@ public class JfcloudSensorDataService extends JfcloudFluxDataService<SensorData>
         return l;
     }
 
+    public Boolean influxDBTest(String fluxQuery) {
+        List<FluxTable> result = new ArrayList<>();
+        try {
+            QueryApi queryApi = jfcloudInfluxDBService.getInfluxDBClient().getQueryApi();
+            result = queryApi.query(fluxQuery);
+        } catch (Exception e) {
+            return false;
+        }
+        return !result.isEmpty();
+    }
 }

+ 2 - 2
snowy-web-app/src/main/resources/application-master.properties

@@ -1,5 +1,5 @@
 server.port=58888
 #\u516C\u7F51
-#coldchain.port=0
+coldchain.port=0
 #\u4E2D\u5357\u533B\u9662
-coldchain.port=40404
+#coldchain.port=40404

+ 2 - 2
snowy-web-app/src/main/resources/application.properties

@@ -7,8 +7,8 @@ spring.main.allow-bean-definition-overriding=true
 #########################################
 # spring profiles configuration
 #########################################
-#spring.profiles.active=master
-spring.profiles.active=work
+spring.profiles.active=master
+#spring.profiles.active=work
 #spring.profiles.active=work-modbus
 
 #########################################