Kaynağa Gözat

feat(pressure): 添加消防压力设备数据可视化接口

- 在 FirefightingPressureController 中添加 @Anonymous 注解以支持匿名访问
- 将所有压力数据接口路径从根路径调整到 /visualization 子路径下
- 修改平均压力接口路径为 /visualization/average
- 修改每日统计接口路径为 /visualization/daily-stats
- 修改报警次数统计接口路径为 /visualization/alarm-counts
- 修改压力地理分布接口路径为 /visualization/distribution
- 修改GPRS信号分析接口路径为 /visualization/signal-vs-pressure
- 新增设备分组查询接口 /visualization/device-group
- 在 FirefightingPressureService 中添加 getDeviceGroup 方法定义
- 在 FirefightingPressureServiceImpl 中实现设备分组查询功能
- 通过中心站字段对设备进行分组统计并返回分组列表
林仔 1 ay önce
ebeveyn
işleme
d33d5afaf4

+ 18 - 10
pipe-network-service/zksy-admin/src/main/java/com/zksy/web/controller/base/pressure/FirefightingPressureController.java

@@ -1,6 +1,7 @@
 package com.zksy.web.controller.base.pressure;
 
 import com.zksy.base.pressure.service.FirefightingPressureService;
+import com.zksy.common.annotation.Anonymous;
 import com.zksy.common.core.domain.AjaxResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -14,53 +15,60 @@ import java.util.Map;
 @Api(tags = "消防压力设备数据")
 @RestController
 @RequestMapping("/api/pressure")
+@Anonymous
 public class FirefightingPressureController {
 
     @Autowired
     private FirefightingPressureService firefightingPressureService;
 
     /**
-     * 1. 获取某时间段的平均压力
+     * 获取某时间段的平均压力
      */
-    @GetMapping("/average")
+    @GetMapping("/visualization/average")
     @ApiOperation(value = "获取某时间段的平均压力")
     public AjaxResult getAveragePressure(@RequestParam String startTime, @RequestParam String endTime) {
         return AjaxResult.success(firefightingPressureService.getAveragePressure(startTime, endTime));
     }
 
     /**
-     * 2. 按天统计最大、最小、平均值
+     * 按天统计最大、最小、平均值
      */
-    @GetMapping("/daily-stats")
+    @GetMapping("/visualization/daily-stats")
     @ApiOperation(value = "按天统计最大、最小、平均值")
     public AjaxResult getDailyStats(@RequestParam String startTime,@RequestParam String endTime) {
         return AjaxResult.success(firefightingPressureService.getDailyStats(startTime, endTime));
     }
 
     /**
-     * 3. 统计各类报警次数
+     * 统计各类报警次数
      */
-    @GetMapping("/alarm-counts")
+    @GetMapping("/visualization/alarm-counts")
     @ApiOperation(value = "统计各类报警次数")
     public AjaxResult getAlarmCounts(@RequestParam String startTime, @RequestParam String endTime) {
         return AjaxResult.success(firefightingPressureService.getAlarmCounts(startTime, endTime));
     }
 
     /**
-     * 4. 压力地理分布
+     * 压力地理分布
      */
-    @GetMapping("/distribution")
+    @GetMapping("/visualization/distribution")
     @ApiOperation(value = "压力地理分布")
     public AjaxResult getPressureDistribution(@RequestParam String startTime, @RequestParam String endTime) {
         return AjaxResult.success(firefightingPressureService.getPressureDistribution(startTime, endTime));
     }
 
     /**
-     * 5. GPRS信号与压力稳定性分析
+     * GPRS信号与压力稳定性分析
      */
-    @GetMapping("/signal-vs-pressure")
+    @GetMapping("/visualization/signal-vs-pressure")
     @ApiOperation(value = "GPRS信号 pressuresability")
     public AjaxResult getSignalVsPressure(@RequestParam String startTime, @RequestParam String endTime) {
         return AjaxResult.success(firefightingPressureService.getSignalVsPressure(startTime, endTime));
     }
+    //根据设备分组查询
+    @GetMapping("/visualization/device-group")
+    @ApiOperation(value = "根据设备分组查询")
+    public AjaxResult getDeviceGroup() {
+        return AjaxResult.success(firefightingPressureService.getDeviceGroup());
+    }
 }

+ 1 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/base/pressure/service/FirefightingPressureService.java

@@ -19,4 +19,5 @@ public interface FirefightingPressureService extends IService<FirefightingPressu
     List<Map<String, Object>> getPressureDistribution(String startTime, String endTime);
 
     List<Map<String, Object>> getSignalVsPressure(String startTime, String endTime);
+    List<String> getDeviceGroup();
 }

+ 13 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/base/pressure/service/impl/FirefightingPressureServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zksy.base.pressure.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zksy.base.environment.domain.ERealTimeData;
 import com.zksy.base.pressure.domain.FirefightingPressure;
 import com.zksy.base.pressure.mapper.FirefightingPressureMapper;
 import com.zksy.base.pressure.service.FirefightingPressureService;
@@ -70,4 +71,16 @@ public class FirefightingPressureServiceImpl extends ServiceImpl<FirefightingPre
     public List<Map<String, Object>> getSignalVsPressure(String startTime, String endTime) {
         return firefightingPressureMapper.getSignalVsPressure(parse(startTime), parse(endTime));
     }
+
+    @Override
+    public List<String> getDeviceGroup() {
+        return lambdaQuery()
+                .select(FirefightingPressure::getCentralStation)
+                .groupBy(FirefightingPressure::getCentralStation)
+                .list()
+                .stream()
+                .map(FirefightingPressure::getCentralStation)
+                .map(String::valueOf)
+                .collect(Collectors.toList());
+    }
 }