From e5601bb0a62403266434f7011732048c46ca9125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Thu, 22 Jan 2026 20:04:09 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0group/docks/2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/api/domain/DockWithGPSVO.java | 75 +++++++++++++++++++ ruoyi-modules/tuoheng-device | 2 +- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java new file mode 100644 index 0000000..9b89cf3 --- /dev/null +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java @@ -0,0 +1,75 @@ +package com.ruoyi.device.api.domain; + +import com.ruoyi.common.core.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 机场VO对象 + * + * @author ruoyi + * @date 2026-01-20 + */ +@Data +public class DockWithGPSVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 机场ID */ + @Excel(name = "机场ID") + private Long dockId; + + /** 机场IOT ID */ + @Excel(name = "机场IOT ID") + private String dockIotId; + + /** 机场名称 */ + @Excel(name = "机场名称") + private String dockName; + + /** 机场位置 */ + @Excel(name = "机场位置") + private String dockLocation; + + /** 机场厂商 */ + @Excel(name = "机场厂商") + private String dockManufacturer; + + /** 机场型号 */ + @Excel(name = "机场型号") + private String dockModel; + + /** 机场状态 */ + @Excel(name = "机场状态") + private String dockStatus; + + /** 无人机ID */ + @Excel(name = "无人机ID") + private Long aircraftId; + + /** 无人机IOT ID */ + @Excel(name = "无人机IOT ID") + private String aircraftIotId; + + /** 无人机名称 */ + @Excel(name = "无人机名称") + private String aircraftName; + + /** 无人机厂商 */ + @Excel(name = "无人机厂商") + private String aircraftManufacturer; + + /** 无人机型号 */ + @Excel(name = "无人机型号") + private String aircraftModel; + + /** 无人机状态 */ + @Excel(name = "无人机状态") + private String aircraftStatus; + + /** 挂载列表 */ + private List payloadList; + +} diff --git a/ruoyi-modules/tuoheng-device b/ruoyi-modules/tuoheng-device index 9bee183..d701321 160000 --- a/ruoyi-modules/tuoheng-device +++ b/ruoyi-modules/tuoheng-device @@ -1 +1 @@ -Subproject commit 9bee1836ddf0a93952c8ecc5910661b99e32a5fa +Subproject commit d70132180bcbe75c430a2970e5b13cd1321b5039 From b246e539015e98fd1412061494e45d58eee7d8cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Thu, 22 Jan 2026 20:05:40 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0group/docks/2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-modules/tuoheng-device | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/tuoheng-device b/ruoyi-modules/tuoheng-device index d701321..3145421 160000 --- a/ruoyi-modules/tuoheng-device +++ b/ruoyi-modules/tuoheng-device @@ -1 +1 @@ -Subproject commit d70132180bcbe75c430a2970e5b13cd1321b5039 +Subproject commit 31454217ea9b6e7f31cd83584244dbfffac0b067 From ba6fc1e0680f8e268404629651fbedd196586960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 23 Jan 2026 08:49:16 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0group/docks/2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/device/api/domain/DockWithGPSVO.java | 6 ++++++ ruoyi-modules/tuoheng-device | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java index 9b89cf3..7ab4238 100644 --- a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java @@ -72,4 +72,10 @@ public class DockWithGPSVO implements Serializable { /** 挂载列表 */ private List payloadList; + /** 纬度 */ + private String latitude; + + /** 经度 */ + private String longitude; + } diff --git a/ruoyi-modules/tuoheng-device b/ruoyi-modules/tuoheng-device index 3145421..c57f66e 160000 --- a/ruoyi-modules/tuoheng-device +++ b/ruoyi-modules/tuoheng-device @@ -1 +1 @@ -Subproject commit 31454217ea9b6e7f31cd83584244dbfffac0b067 +Subproject commit c57f66e0b7e793bba93fbd697fcb8bc556c8ff4d From 2f19d433a2fea117139ca665744650beeba9787e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 23 Jan 2026 09:06:56 +0800 Subject: [PATCH 04/10] xx --- use.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/use.md b/use.md index 2d4a839..9b18a3b 100644 --- a/use.md +++ b/use.md @@ -11,7 +11,7 @@ cd a-cloud-all # 更新主仓库和所有子模块到主仓库记录的版本 #git pull && git submodule update --init --recursive git submodule foreach 'git checkout main && git pull' - +git submodule foreach 'git checkout dev && git pull' ``` ## 其他更新方式 From 96cd9b53c2a20c7c69a8ce5f08aa0d770913825e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 23 Jan 2026 09:10:00 +0800 Subject: [PATCH 05/10] xx --- a_th_web | 2 +- thingsboard | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/a_th_web b/a_th_web index 27c4446..b3c50f6 160000 --- a/a_th_web +++ b/a_th_web @@ -1 +1 @@ -Subproject commit 27c444605579bcca708df367d71cd171558a0dd2 +Subproject commit b3c50f6011df27cf3993ddf8a56cb1638b6abb04 diff --git a/thingsboard b/thingsboard index 76c8d32..4304f00 160000 --- a/thingsboard +++ b/thingsboard @@ -1 +1 @@ -Subproject commit 76c8d32da0ed0702750688e79f43d34db44d1e58 +Subproject commit 4304f00f2f730f58ac86734ce31f214715be1f08 From 52913b72f4191769544d376ae7409bfb4680785f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 23 Jan 2026 09:23:40 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0group/docks/2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java index 7ab4238..5f7abfc 100644 --- a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockWithGPSVO.java @@ -73,9 +73,9 @@ public class DockWithGPSVO implements Serializable { private List payloadList; /** 纬度 */ - private String latitude; + private Double latitude; /** 经度 */ - private String longitude; + private Double longitude; } From cbc30a5c1337ae7a2de35c6ce09fda2fe6e8ecf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 23 Jan 2026 09:39:36 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0group/docks/2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-modules/tuoheng-device | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/tuoheng-device b/ruoyi-modules/tuoheng-device index c57f66e..6a48c2a 160000 --- a/ruoyi-modules/tuoheng-device +++ b/ruoyi-modules/tuoheng-device @@ -1 +1 @@ -Subproject commit c57f66e0b7e793bba93fbd697fcb8bc556c8ff4d +Subproject commit 6a48c2a3b6329a87abffff6d00fc584d7c53bac7 From b2e8cf1c3328e849534ec9cc5e1c6d3475b42f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 23 Jan 2026 09:43:00 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0group/docks/2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ruoyi/device/api/domain/DockDetailVO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockDetailVO.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockDetailVO.java index 46af66f..286ccf1 100644 --- a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockDetailVO.java +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DockDetailVO.java @@ -180,11 +180,11 @@ public class DockDetailVO extends DockVO { /** *纬度 */ - private String latitude; + private Double latitude; /** * 经度 */ - private String longitude; + private Double longitude; } From c3548ea38c570e57f777c9d6531a4d2b4e0062e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 23 Jan 2026 09:44:58 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0group/docks/2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-modules/tuoheng-device | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/tuoheng-device b/ruoyi-modules/tuoheng-device index 6a48c2a..7348cf6 160000 --- a/ruoyi-modules/tuoheng-device +++ b/ruoyi-modules/tuoheng-device @@ -1 +1 @@ -Subproject commit 6a48c2a3b6329a87abffff6d00fc584d7c53bac7 +Subproject commit 7348cf68f62ef4950740dd3ea8800109016e54b8 From 7e9cba4e338edceed8893644b917e640f126ec0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 23 Jan 2026 10:22:07 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/api/RemoteStatisticsService.java | 28 +++++++++ .../ruoyi/device/api/domain/StatisticsVO.java | 59 +++++++++++++++++++ .../RemoteStatisticsFallbackFactory.java | 35 +++++++++++ ruoyi-modules/tuoheng-device | 2 +- 4 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteStatisticsService.java create mode 100644 ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/StatisticsVO.java create mode 100644 ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteStatisticsFallbackFactory.java diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteStatisticsService.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteStatisticsService.java new file mode 100644 index 0000000..5ad0ea4 --- /dev/null +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteStatisticsService.java @@ -0,0 +1,28 @@ +package com.ruoyi.device.api; + +import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.device.api.domain.StatisticsVO; +import com.ruoyi.device.api.factory.RemoteStatisticsFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +/** + * 统计服务 + * + * @author ruoyi + * @date 2026-01-23 + */ +@FeignClient(contextId = "remoteStatisticsService", value = ServiceNameConstants.DEVICE_SERVICE, fallbackFactory = RemoteStatisticsFallbackFactory.class) +public interface RemoteStatisticsService +{ + /** + * 获取系统统计信息 + * + * @param source 请求来源 + * @return 统计信息 + */ + @GetMapping("/statistics") + R getStatistics(@RequestHeader(SecurityConstants.FROM_SOURCE) String source); +} \ No newline at end of file diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/StatisticsVO.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/StatisticsVO.java new file mode 100644 index 0000000..387b825 --- /dev/null +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/StatisticsVO.java @@ -0,0 +1,59 @@ +package com.ruoyi.device.api.domain; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 统计信息VO对象 + * + * @author ruoyi + * @date 2026-01-23 + */ +@Data +public class StatisticsVO implements Serializable +{ + private static final long serialVersionUID = 1L; + + // ========== 机场统计 ========== + /** 机场个数 */ + private Integer dockCount; + + /** 空闲机场个数 */ + private Integer idleDockCount; + + /** 任务中机场个数 */ + private Integer workingDockCount; + + /** 调试机场个数 */ + private Integer debuggingDockCount; + + /** 离线机场个数 */ + private Integer offlineDockCount; + + // ========== 无人机统计 ========== + /** 无人机个数 */ + private Integer aircraftCount; + + /** 舱内开机个数 */ + private Integer powerOnInCabinCount; + + /** 舱内关机个数 */ + private Integer powerOffInCabinCount; + + /** 任务中个数 */ + private Integer inMissionCount; + + /** 调试中个数 */ + private Integer debuggingAircraftCount; + + /** 离线个数 */ + private Integer offlineAircraftCount; + + // ========== 挂载统计 ========== + /** 全部挂载个数 */ + private Integer payloadCount; + + /** 离线个数 */ + private Integer offlinePayloadCount; +} \ No newline at end of file diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteStatisticsFallbackFactory.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteStatisticsFallbackFactory.java new file mode 100644 index 0000000..68d4e70 --- /dev/null +++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteStatisticsFallbackFactory.java @@ -0,0 +1,35 @@ +package com.ruoyi.device.api.factory; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.device.api.RemoteStatisticsService; +import com.ruoyi.device.api.domain.StatisticsVO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * 统计服务降级处理 + * + * @author ruoyi + * @date 2026-01-23 + */ +@Component +public class RemoteStatisticsFallbackFactory implements FallbackFactory +{ + private static final Logger log = LoggerFactory.getLogger(RemoteStatisticsFallbackFactory.class); + + @Override + public RemoteStatisticsService create(Throwable throwable) + { + log.error("统计服务调用失败:{}", throwable.getMessage()); + return new RemoteStatisticsService() + { + @Override + public R getStatistics(String source) + { + return R.fail("获取统计信息失败:" + throwable.getMessage()); + } + }; + } +} \ No newline at end of file diff --git a/ruoyi-modules/tuoheng-device b/ruoyi-modules/tuoheng-device index 7348cf6..8daf7a6 160000 --- a/ruoyi-modules/tuoheng-device +++ b/ruoyi-modules/tuoheng-device @@ -1 +1 @@ -Subproject commit 7348cf68f62ef4950740dd3ea8800109016e54b8 +Subproject commit 8daf7a6d842dad1070246129f0629d7090ab1787