From 6bb91f7fb14db81888ef245b52b428023eb4f0f0 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 02 Dec 2025 15:40:58 +0800
Subject: [PATCH] 增加统计接口

---
 ard-system/src/main/java/com/ard/data/statistics/domain/ArdStatisticsCountResult.java |    9 ++++
 ard-admin/src/main/java/com/ard/web/controller/data/ArdStatisticsController.java      |   26 +++++++++++++
 ard-system/src/main/resources/mapper/data/ArdStatisticsMapper.xml                     |   25 ++++++++++++
 ard-system/src/main/java/com/ard/data/statistics/mapper/ArdStatisticsMapper.java      |   10 +++++
 ard-system/src/main/java/com/ard/data/statistics/service/ArdStatisticsService.java    |   19 +++++++++
 5 files changed, 89 insertions(+), 0 deletions(-)

diff --git a/ard-admin/src/main/java/com/ard/web/controller/data/ArdStatisticsController.java b/ard-admin/src/main/java/com/ard/web/controller/data/ArdStatisticsController.java
new file mode 100644
index 0000000..8695066
--- /dev/null
+++ b/ard-admin/src/main/java/com/ard/web/controller/data/ArdStatisticsController.java
@@ -0,0 +1,26 @@
+package com.ard.web.controller.data;
+
+import com.ard.common.core.domain.AjaxResult;
+import com.ard.data.statistics.service.ArdStatisticsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@Api(tags = "统计接口")
+@RestController
+@RequestMapping("/data/statistics")
+public class ArdStatisticsController {
+
+    @Resource
+    private ArdStatisticsService service;
+
+    @ApiOperation("获取统计数量")
+    @GetMapping("/counts")
+    public AjaxResult getCounts() {
+        return AjaxResult.success(service.getCounts());
+    }
+}
diff --git a/ard-system/src/main/java/com/ard/data/statistics/domain/ArdStatisticsCountResult.java b/ard-system/src/main/java/com/ard/data/statistics/domain/ArdStatisticsCountResult.java
new file mode 100644
index 0000000..370c80d
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/data/statistics/domain/ArdStatisticsCountResult.java
@@ -0,0 +1,9 @@
+package com.ard.data.statistics.domain;
+
+import lombok.Data;
+
+@Data
+public class ArdStatisticsCountResult {
+    private String name;
+    private Integer count;
+}
diff --git a/ard-system/src/main/java/com/ard/data/statistics/mapper/ArdStatisticsMapper.java b/ard-system/src/main/java/com/ard/data/statistics/mapper/ArdStatisticsMapper.java
new file mode 100644
index 0000000..72d2908
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/data/statistics/mapper/ArdStatisticsMapper.java
@@ -0,0 +1,10 @@
+package com.ard.data.statistics.mapper;
+
+import com.ard.data.statistics.domain.ArdStatisticsCountResult;
+import java.util.List;
+
+
+public interface ArdStatisticsMapper {
+
+    List<ArdStatisticsCountResult> getAllCounts();
+}
diff --git a/ard-system/src/main/java/com/ard/data/statistics/service/ArdStatisticsService.java b/ard-system/src/main/java/com/ard/data/statistics/service/ArdStatisticsService.java
new file mode 100644
index 0000000..c8f707b
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/data/statistics/service/ArdStatisticsService.java
@@ -0,0 +1,19 @@
+package com.ard.data.statistics.service;
+
+import com.ard.data.statistics.domain.ArdStatisticsCountResult;
+import com.ard.data.statistics.mapper.ArdStatisticsMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class ArdStatisticsService {
+
+    @Resource
+    private ArdStatisticsMapper mapper;
+
+    public List<ArdStatisticsCountResult> getCounts() {
+        return mapper.getAllCounts();
+    }
+}
diff --git a/ard-system/src/main/resources/mapper/data/ArdStatisticsMapper.xml b/ard-system/src/main/resources/mapper/data/ArdStatisticsMapper.xml
new file mode 100644
index 0000000..f487d07
--- /dev/null
+++ b/ard-system/src/main/resources/mapper/data/ArdStatisticsMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.ard.data.statistics.mapper.ArdStatisticsMapper">
+
+    <select id="getAllCounts" resultType="ArdStatisticsCountResult">
+        SELECT 'serverCount' AS name, COUNT(*) AS count FROM ard_server
+        UNION ALL
+        SELECT 'uavCount' AS name, COUNT(*) AS count FROM ard_drone
+        UNION ALL
+        SELECT 'cameraCount' AS name, COUNT(*) AS count FROM ard_camera
+        UNION ALL
+        SELECT 'dockCount' AS name, COUNT(*) AS count FROM manage_device where domain = 3
+        UNION ALL
+        SELECT 'noFlyZoneCount' AS name, COUNT(*) AS count FROM ard_no_fly_zone
+        UNION ALL
+        SELECT 'mapCount' AS name, COUNT(*) AS count FROM ard_map
+        UNION ALL
+        SELECT 'modelCount' AS name, COUNT(*) AS count FROM ard_model
+        UNION ALL
+        SELECT 'tilesCount' AS name, COUNT(*) AS count FROM ard_tile
+    </select>
+
+</mapper>

--
Gitblit v1.9.3