Kaynağa Gözat

增加精讯土壤墒情传感器

limeng 2 yıl önce
ebeveyn
işleme
235629e5fd

+ 18 - 0
ruoyi-admin/src/main/java/com/ruoyi/monitorInterface/chenganshengbang/controller/WaterPressureController.java

@@ -0,0 +1,18 @@
+package com.ruoyi.monitorInterface.chenganshengbang.controller;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/api/WaterPressure")
+public class WaterPressureController {
+
+    /**
+     * 水压传感器上报数据
+     * */
+    @PostMapping("/selWaterPressureData")
+    public AjaxResult selWaterPressureData(String data){
+        System.out.println("res=====>"+data);
+        return null;
+    }
+}

+ 10 - 0
ruoyi-admin/src/main/java/com/ruoyi/monitorInterface/sennor/API.java

@@ -0,0 +1,10 @@
+package com.ruoyi.monitorInterface.sennor;
+
+public class API {
+
+    //获取设备信息
+    public static final String getDeviceInfo = "device/getDeviceInfo";
+    //查询设备节点数据接口
+    public static final String selSensorData = "device/selSensorData";
+
+}

+ 28 - 0
ruoyi-admin/src/main/java/com/ruoyi/monitorInterface/sennor/controller/SennorController.java

@@ -0,0 +1,28 @@
+package com.ruoyi.monitorInterface.sennor.controller;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.monitorInterface.sennor.service.SennorService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("/api/Sennor")
+public class SennorController {
+
+    @Resource
+    private SennorService sennorService;
+
+    /**
+     * 查询设备节点数据
+     * */
+    @GetMapping("/selSensorData/{deviceNumber}")
+    public AjaxResult selSensorData(@PathVariable("deviceNumber") String deviceNumber){
+        return sennorService.selSensorData(deviceNumber);
+    }
+
+
+}

+ 11 - 0
ruoyi-admin/src/main/java/com/ruoyi/monitorInterface/sennor/service/SennorService.java

@@ -0,0 +1,11 @@
+package com.ruoyi.monitorInterface.sennor.service;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+
+public interface SennorService {
+
+    /**
+     * 查询设备节点数据
+     * */
+    AjaxResult selSensorData(String deviceNumber);
+}

+ 53 - 0
ruoyi-admin/src/main/java/com/ruoyi/monitorInterface/sennor/service/impl/SennorServiceImpl.java

@@ -0,0 +1,53 @@
+package com.ruoyi.monitorInterface.sennor.service.impl;
+
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.ConfigService;
+import com.ruoyi.monitorInterface.sennor.API;
+import com.ruoyi.monitorInterface.sennor.service.SennorService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class SennorServiceImpl implements SennorService {
+
+    private static final Logger log = LoggerFactory.getLogger(SennorServiceImpl.class);
+
+    @Resource
+    private ConfigService configService;
+
+    private String secretKey;
+
+    @Override
+    public AjaxResult selSensorData(String deviceNumber) {
+        secretKey = configService.getKey("sennorSecretKey");
+        //先请求
+        StringBuffer URI = new StringBuffer(configService.getKey("sennorURL")+ API.selSensorData);
+        URI.append("?secretKey=").append(secretKey);
+        URI.append("&deviceNumber=").append(deviceNumber);
+        String result = HttpRequest.get(URI.toString())
+                .header("Content-Type", "application/json")
+                .execute().body();
+        //后推送
+        JSONObject object;
+        String res;
+        try {
+            object = JSONObject.parseObject(result);
+            res = HttpRequest.post(configService.getKey("centerMonitorURL")+"device/saveSennorDeviceData")
+                    .header("Content-Type", "application/json")
+                    .body(object.toJSONString())
+                    .execute().body();
+            log.info("数据推送成功! data ===> {} , result ===> {}",result, res);
+            return AjaxResult.success("数据推送成功!",result);
+        }catch(Exception e){
+            e.printStackTrace();
+            log.error("数据推送失败! data ===> {} , result ===> {}",result, e.getMessage());
+            return AjaxResult.error("数据推送失败!",result);
+        }
+
+    }
+}

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/tcp/TcpServer.java

@@ -1,4 +1,4 @@
-package com.ruoyi.tcp;
+package com.ruoyi.monitorInterface.shuicejia;
 
 import cn.hutool.core.io.BufferUtil;
 import cn.hutool.core.io.IORuntimeException;

+ 1 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java

@@ -292,6 +292,7 @@ public class ShiroConfig
         filterChainDefinitionMap.put("/logout", "logout");
         // 不需要拦截的访问
         filterChainDefinitionMap.put("/hwMeeting/**", "anon");
+        filterChainDefinitionMap.put("/api/**", "anon");
         filterChainDefinitionMap.put("/sendMessageController/**", "anon");
         filterChainDefinitionMap.put("/login", "anon,captchaValidate");
         // 注册相关