From f905f4377db462640a4fdd53dc5daa1adfc8c542 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 14 Oct 2025 18:30:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-framework/src/main/java/com/ard/framework/manager/factory/AsyncFactory.java                 |    8 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlPoint.java                                  |    2 
 ard-work/src/main/java/com/ard/work/component/forest/MyAddressSource.java                       |   24 
 ard-system/src/main/resources/mapper/system/SysUserPostMapper.xml                               |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/ExecuteHeightModeEnums.java                     |    2 
 ard-system/src/main/resources/mapper/system/SysLogininforMapper.xml                             |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlPolygon.java                                |    2 
 ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java                                  |   10 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysDictTypeServiceImpl.java         |    9 
 ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml                                      |   18 
 ard-system/src/main/java/com/ard/system/domain/noflyzone/ArdNoFlyZone.java                      |   32 +
 ard-route/src/main/java/com/ard/route/constant/FileTypeConstants.java                           |    2 
 ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java                  |   67 +-
 ard-system/src/main/java/com/ard/system/mapper/system/SysDictDataMapper.java                    |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysUserRoleMapper.java                    |    4 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlOverlap.java                                |    2 
 ard-system/src/main/resources/mapper/system/SysUserRoleMapper.xml                               |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlDroneInfo.java                              |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/LensTypeEnums.java                              |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysUserPostMapper.java                    |    4 
 ard-system/src/main/java/com/ard/system/service/system/ISysDictTypeService.java                 |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/WaypointHeadingPathModeEnums.java               |    2 
 ard-admin/src/main/java/com/ard/web/controller/system/SysProfileController.java                 |    2 
 ard-system/src/main/java/com/ard/system/domain/noflyzone/FeatureCollectionTypeHandler.java      |   68 ++
 ard-route/src/main/java/com/ard/route/domain/kml/KmlActionActuatorFuncParam.java                |    2 
 ard-system/src/main/java/com/ard/system/authorize/common/AuthorizeUtil.java                     |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlMissionConfig.java                          |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlInfo.java                                   |    2 
 ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java                     |   93 ++-
 ard-system/src/main/java/com/ard/system/service/system/ISysUserOnlineService.java               |    4 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysPostServiceImpl.java             |   11 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysMenuServiceImpl.java             |   11 
 ard-system/src/main/java/com/ard/system/service/noflyzone/impl/ArdNoFlyZoneServiceImpl.java     |  103 +++
 ard-route/src/main/java/com/ard/route/domain/kml/KmlLineString.java                             |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/ReturnModeEnums.java                            |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysMenuMapper.java                        |    2 
 ard-framework/src/main/java/com/ard/framework/aspectj/LogAspect.java                            |    2 
 ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java                                 |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/HeightModeEnums.java                            |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysLogininforMapper.java                  |    4 
 ard-system/src/main/java/com/ard/system/service/system/ISysUserService.java                     |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysDeptMapper.java                        |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysNotice.java                            |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysOperLog.java                           |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysRoleMenuMapper.java                    |    4 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysUserOnlineServiceImpl.java       |    6 
 ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java                             |   12 
 ard-system/src/main/java/com/ard/system/service/system/ISysOperLogService.java                  |    4 
 ard-system/src/main/java/com/ard/system/domain/system/SysUserOnline.java                        |    2 
 ard-system/src/main/java/com/ard/system/service/authorize/AuthorizeService.java                 |    2 
 ard-system/src/main/java/com/ard/system/service/data/IArdModelManagementService.java            |    4 
 ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java                  |   11 
 ard-route/src/main/java/com/ard/route/enums/kml/CollectionMethodEnums.java                      |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlPlacemark.java                              |    2 
 ard-admin/src/main/java/com/ard/web/controller/system/SysConfigController.java                  |    4 
 ard-work/src/main/java/com/ard/work/component/forest/TyClient.java                              |   25 
 ard-admin/src/main/java/com/ard/web/controller/system/SysPostController.java                    |    4 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java                                 |    8 
 ard-system/src/main/resources/mapper/system/SysNoticeMapper.xml                                 |    2 
 ard-system/src/main/resources/mapper/data/ArdMapManagementMapper.xml                            |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/ImageFormatEnums.java                           |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysLogininfor.java                        |    2 
 ard-admin/src/main/java/com/ard/web/controller/system/SysDictDataController.java                |    4 
 ard-route/src/main/java/com/ard/route/util/PositionUtils.java                                   |    2 
 ard-admin/src/main/java/com/ard/web/controller/monitor/SysOperlogController.java                |    4 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysNoticeServiceImpl.java           |    9 
 ard-system/src/main/resources/mapper/system/SysRoleMapper.xml                                   |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysRoleMenu.java                          |    2 
 ard-system/src/main/resources/mapper/system/SysDeptMapper.xml                                   |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/PayloadTypeEnums.java                           |    2 
 ard-admin/src/main/java/com/ard/web/controller/data/ArdModelManagementController.java           |   16 
 ard-framework/src/main/java/com/ard/framework/web/service/SysPermissionService.java             |    4 
 ard-route/src/main/java/com/ard/route/enums/kml/ActionTriggerTypeEnums.java                     |    2 
 ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java              |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysRoleDept.java                          |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysConfig.java                            |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/RoutePointInfo.java                            |    8 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysLogininforServiceImpl.java       |    9 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysRoleServiceImpl.java             |   19 
 ard-admin/src/main/java/com/ard/web/controller/system/SysRegisterController.java                |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlDocument.java                               |    2 
 ard-system/src/main/java/com/ard/system/mapper/data/ArdMapManagementMapper.java                 |    4 
 ard-system/src/main/java/com/ard/system/service/system/ISysDictDataService.java                 |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysUserRole.java                          |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/FinishActionEnums.java                          |    2 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysOperLogServiceImpl.java          |    9 
 ard-system/src/main/resources/mapper/system/SysDictDataMapper.xml                               |    2 
 ard-admin/src/main/java/com/ard/web/controller/system/SysRoleController.java                    |    8 
 ard-system/src/main/java/com/ard/system/service/data/IArdMapManagementService.java              |    4 
 ard-framework/src/main/java/com/ard/framework/web/service/UserDetailsServiceImpl.java           |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysNoticeMapper.java                      |    4 
 ard-admin/src/main/java/com/ard/web/controller/monitor/SysUserOnlineController.java             |    4 
 ard-system/src/main/resources/mapper/noflyzone/ArdNoFlyZoneMapper.xml                           |   86 ++
 ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointGimbalHeadingParam.java             |    2 
 ard-work/pom.xml                                                                                |    2 
 ard-system/src/main/java/com/ard/system/service/system/ISysMenuService.java                     |    2 
 ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java                   |    4 
 ard-route/src/main/java/com/ard/route/enums/kml/WaypointHeadingModeEnums.java                   |    2 
 ard-system/src/main/java/com/ard/system/mapper/data/ArdTileManagementMapper.java                |    4 
 ard-system/src/main/java/com/ard/system/mapper/system/SysRoleMapper.java                        |    2 
 ard-system/src/main/resources/mapper/system/SysConfigMapper.xml                                 |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/TemplateTypeEnums.java                          |    2 
 ard-admin/src/main/java/com/ard/web/controller/data/ArdNoFlyZoneController.java                 |  157 +++++
 ard-admin/src/main/java/com/ard/web/controller/system/SysDeptController.java                    |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlActionGroup.java                            |    2 
 ard-system/src/main/java/com/ard/system/service/data/impl/ArdTileManagementServiceImpl.java     |    8 
 ard-admin/src/main/java/com/ard/web/controller/common/CaptchaController.java                    |    2 
 ard-admin/src/main/java/com/ard/web/controller/monitor/CacheController.java                     |    2 
 ard-system/src/main/resources/mapper/system/SysMenuMapper.xml                                   |    2 
 ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java                      |    8 
 ard-admin/src/main/java/com/ard/web/controller/system/SysNoticeController.java                  |    4 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointTurnParam.java                      |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/DroneEnumValueEnums.java                        |    2 
 ard-system/src/main/java/com/ard/system/common/Md5Utils.java                                    |    2 
 ard-admin/src/main/java/com/ard/web/controller/work/ArdServerInfoController.java                |   30 
 ard-route/src/main/java/com/ard/route/enums/kml/ActionActuatorFuncEnums.java                    |    2 
 ard-system/src/main/java/com/ard/system/domain/noflyzone/FeatureCollection.java                 |   26 
 ard-admin/src/main/java/com/ard/web/controller/system/SysDictTypeController.java                |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/ActionGroupModeEnums.java                       |    2 
 ard-admin/src/main/java/com/ard/web/controller/system/SysUserController.java                    |    8 
 ard-framework/src/main/java/com/ard/framework/web/service/SysRegisterService.java               |    4 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlAction.java                                 |    2 
 ard-system/src/main/java/com/ard/system/service/system/ISysLogininforService.java               |    4 
 ard-system/src/main/java/com/ard/system/service/system/ISysPostService.java                     |    4 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysDictDataServiceImpl.java         |    7 
 ard-system/src/main/java/com/ard/system/mapper/noflyzone/ArdNoFlyZoneMapper.java                |   61 ++
 ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java           |    4 
 ard-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml                               |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlGlobalWaypointHeadingParam.java             |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/AircraftPathModeEnums.java                      |    2 
 ard-route/src/main/java/com/ard/route/domain/CoordinatePointReq.java                            |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointHeadingParam.java                   |    2 
 ard-system/src/main/java/com/ard/system/domain/authorize/AuthorizeInfo.java                     |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysPost.java                              |    2 
 ard-route/src/main/java/com/ard/route/service/UavRouteService.java                              |    4 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlWayLineCoordinateSysParam.java              |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlOuterBoundaryIs.java                        |    2 
 ard-admin/src/main/java/com/ard/web/controller/monitor/SysLogininforController.java             |    4 
 ard-route/src/main/java/com/ard/route/domain/WaypointTurnReq.java                               |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlActionTrigger.java                          |    2 
 ard-system/src/main/resources/mapper/system/SysOperLogMapper.xml                                |    2 
 ard-admin/src/main/java/com/ard/web/controller/data/ArdMapManagementController.java             |   16 
 ard-admin/src/main/java/com/ard/web/controller/system/AuthorizationController.java              |    2 
 ard-system/src/main/java/com/ard/system/service/authorize/impl/AuthorizeServiceImpl.java        |   11 
 ard-system/src/main/java/com/ard/system/service/system/ISysConfigService.java                   |    4 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysUserServiceImpl.java             |   25 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysDeptServiceImpl.java             |    9 
 ard-system/src/main/java/com/ard/system/mapper/system/SysConfigMapper.java                      |    4 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlPayloadParam.java                           |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysRoleDeptMapper.java                    |    4 
 ard-system/src/main/java/com/ard/system/domain/system/SysUserPost.java                          |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysDictTypeMapper.java                    |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/FlyToWaylineModeEnums.java                      |    2 
 ard-system/src/main/java/com/ard/system/domain/data/ArdModelManagement.java                     |    4 
 ard-system/src/main/resources/mapper/system/SysPostMapper.xml                                   |    2 
 ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java                     |   20 
 ard-admin/src/main/java/com/ard/web/controller/system/SysMenuController.java                    |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/PositioningTypeEnums.java                       |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/ScanningModeEnums.java                          |    2 
 ard-admin/src/main/java/com/ard/web/controller/route/UavRouteController.java                    |    4 
 ard-framework/src/main/java/com/ard/framework/web/service/SysLoginService.java                  |    4 
 ard-system/src/main/java/com/ard/system/domain/data/ArdTileManagement.java                      |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlFolder.java                                 |    2 
 ard-route/src/main/java/com/ard/route/util/Gps.java                                             |    2 
 ard-system/src/main/java/com/ard/system/service/system/ISysRoleService.java                     |    4 
 ard-work/src/main/java/com/ard/work/domain/cache/TyTcpServerCache.java                          |   21 
 ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java                                   |    2 
 ard-system/src/main/java/com/ard/system/service/data/impl/ArdModelManagementServiceImpl.java    |    8 
 ard-system/src/main/resources/mapper/system/SysDictTypeMapper.xml                               |    2 
 ard-admin/src/main/java/com/ard/web/controller/system/SysLoginController.java                   |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/FocusModeEnums.java                             |    2 
 ard-route/src/main/java/com/ard/route/domain/WaypointHeadingReq.java                            |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/ExecuteRCLostActionEnums.java                   |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/GimbalPitchModeEnums.java                       |    2 
 ard-route/src/main/java/com/ard/route/domain/MappingTypeReq.java                                |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/PayloadPositionIndexEnums.java                  |    2 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlLinearRing.java                             |    2 
 ard-admin/src/main/java/com/ard/web/controller/data/ArdTileManagementController.java            |   16 
 ard-system/src/main/java/com/ard/system/mapper/system/SysOperLogMapper.java                     |    4 
 ard-system/src/main/java/com/ard/system/domain/data/ArdMapManagement.java                       |    2 
 ard-system/src/main/java/com/ard/system/domain/authorize/ParsLicenseInfo.java                   |    2 
 ard-system/src/main/java/com/ard/system/mapper/data/ArdModelManagementMapper.java               |    4 
 ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java                          |   19 
 ard-system/src/main/resources/mapper/data/ArdModelManagementMapper.xml                          |    2 
 ard-system/src/main/java/com/ard/system/service/system/ISysDeptService.java                     |    2 
 ard-system/src/main/resources/mapper/data/ArdTileManagementMapper.xml                           |    2 
 ard-system/src/main/java/com/ard/system/service/system/impl/SysConfigServiceImpl.java           |    9 
 ard-system/src/main/resources/mapper/system/SysUserMapper.xml                                   |    2 
 ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java                             |   57 -
 ard-route/src/main/java/com/ard/route/enums/kml/GlobalWaypointTurnModeEnums.java                |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/ShootTypeEnums.java                             |    2 
 ard-route/src/main/java/com/ard/route/enums/kml/MeteringModeEnums.java                          |    2 
 ard-system/src/main/java/com/ard/system/mapper/system/SysPostMapper.java                        |    4 
 ard-work/src/main/java/com/ard/work/service/IArdDroneInfoService.java                           |    2 
 ard-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml                               |    2 
 ard-route/src/main/java/com/ard/route/domain/ActionTriggerReq.java                              |    2 
 ard-system/src/main/java/com/ard/system/service/system/ISysNoticeService.java                   |    4 
 ard-route/src/main/java/com/ard/route/enums/kml/ExitOnRCLostEnums.java                          |    2 
 ard-common/pom.xml                                                                              |    2 
 ard-system/src/main/java/com/ard/system/domain/system/SysCache.java                             |    2 
 ard-system/src/main/java/com/ard/system/service/data/IArdTileManagementService.java             |    4 
 ard-system/src/main/java/com/ard/system/service/data/impl/ArdMapManagementServiceImpl.java      |   12 
 ard-route/src/main/java/com/ard/route/domain/kml/KmlPayloadInfo.java                            |    2 
 ard-work/src/main/java/com/ard/work/component/websocket/interceptor/TyHandshakeInterceptor.java |    6 
 ard-system/src/main/java/com/ard/system/service/noflyzone/IArdNoFlyZoneService.java             |   61 ++
 ard-admin/src/main/java/com/ard/web/controller/work/ArdDroneInfoController.java                 |   30 
 ard-system/src/main/java/com/ard/system/mapper/system/SysUserMapper.java                        |    2 
 ard-system/src/main/java/com/ard/system/common/DateTimeUtil.java                                |    2 
 ard-route/src/main/java/com/ard/route/domain/PointActionReq.java                                |    2 
 209 files changed, 1,165 insertions(+), 536 deletions(-)

diff --git a/ard-admin/src/main/java/com/ard/web/controller/common/CaptchaController.java b/ard-admin/src/main/java/com/ard/web/controller/common/CaptchaController.java
index f264278..bbcaf97 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/common/CaptchaController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/common/CaptchaController.java
@@ -18,7 +18,7 @@
 import com.ard.common.core.redis.RedisCache;
 import com.ard.common.utils.sign.Base64;
 import com.ard.common.utils.uuid.IdUtils;
-import com.ard.system.service.ISysConfigService;
+import com.ard.system.service.system.ISysConfigService;
 
 /**
  * 验证码操作处理
diff --git a/ard-admin/src/main/java/com/ard/web/controller/data/ArdMapManagementController.java b/ard-admin/src/main/java/com/ard/web/controller/data/ArdMapManagementController.java
index 48dfb57..d13a03d 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/data/ArdMapManagementController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/data/ArdMapManagementController.java
@@ -3,8 +3,8 @@
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
-import com.ard.data.domain.ArdMapManagement;
-import com.ard.data.service.IArdMapManagementService;
+import com.ard.system.data.domain.ArdMapManagement;
+import com.ard.system.service.data.IArdMapManagementService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -42,7 +42,7 @@
      * 查询地图管理列表
      */
     @ApiOperation("查询地图管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:list')")
+    @PreAuthorize("@ss.hasPermi('system:map:list')")
     @GetMapping("/list")
     public TableDataInfo list(ArdMapManagement ardMapManagement) {
         startPage();
@@ -54,7 +54,7 @@
      * 导出地图管理列表
      */
     @ApiOperation("导出地图管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:export')")
+    @PreAuthorize("@ss.hasPermi('system:map:export')")
     @Log(title = "地图管理", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ArdMapManagement ardMapManagement) {
@@ -67,7 +67,7 @@
      * 获取地图管理详细信息
      */
     @ApiOperation("获取地图管理详细信息")
-    @PreAuthorize("@ss.hasPermi('system:management:query')")
+    @PreAuthorize("@ss.hasPermi('system:map:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(ardMapManagementService.selectArdMapManagementById(id));
@@ -77,7 +77,7 @@
      * 新增地图管理
      */
     @ApiOperation("新增地图管理")
-    @PreAuthorize("@ss.hasPermi('system:management:add')")
+    @PreAuthorize("@ss.hasPermi('system:map:add')")
     @Log(title = "地图管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ArdMapManagement ardMapManagement) {
@@ -88,7 +88,7 @@
      * 修改地图管理
      */
     @ApiOperation("修改地图管理")
-    @PreAuthorize("@ss.hasPermi('system:management:edit')")
+    @PreAuthorize("@ss.hasPermi('system:map:edit')")
     @Log(title = "地图管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdMapManagement ardMapManagement) {
@@ -99,7 +99,7 @@
      * 删除地图管理
      */
     @ApiOperation("删除地图管理")
-    @PreAuthorize("@ss.hasPermi('system:management:remove')")
+    @PreAuthorize("@ss.hasPermi('system:map:remove')")
     @Log(title = "地图管理", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
diff --git a/ard-admin/src/main/java/com/ard/web/controller/data/ArdModelManagementController.java b/ard-admin/src/main/java/com/ard/web/controller/data/ArdModelManagementController.java
index 0dfc2db..ef32a24 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/data/ArdModelManagementController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/data/ArdModelManagementController.java
@@ -3,8 +3,8 @@
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
-import com.ard.data.domain.ArdModelManagement;
-import com.ard.data.service.IArdModelManagementService;
+import com.ard.system.domain.data.ArdModelManagement;
+import com.ard.system.service.data.IArdModelManagementService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -42,7 +42,7 @@
      * 查询模型管理列表
      */
     @ApiOperation("查询模型管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:list')")
+    @PreAuthorize("@ss.hasPermi('system:model:list')")
     @GetMapping("/list")
     public TableDataInfo list(ArdModelManagement ardModelManagement) {
         startPage();
@@ -54,7 +54,7 @@
      * 导出模型管理列表
      */
     @ApiOperation("导出模型管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:export')")
+    @PreAuthorize("@ss.hasPermi('system:model:export')")
     @Log(title = "模型管理", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ArdModelManagement ardModelManagement) {
@@ -67,7 +67,7 @@
      * 获取模型管理详细信息
      */
     @ApiOperation("获取模型管理详细信息")
-    @PreAuthorize("@ss.hasPermi('system:management:query')")
+    @PreAuthorize("@ss.hasPermi('system:model:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(ardModelManagementService.selectArdModelManagementById(id));
@@ -77,7 +77,7 @@
      * 新增模型管理
      */
     @ApiOperation("新增模型管理")
-    @PreAuthorize("@ss.hasPermi('system:management:add')")
+    @PreAuthorize("@ss.hasPermi('system:model:add')")
     @Log(title = "模型管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ArdModelManagement ardModelManagement) {
@@ -88,7 +88,7 @@
      * 修改模型管理
      */
     @ApiOperation("修改模型管理")
-    @PreAuthorize("@ss.hasPermi('system:management:edit')")
+    @PreAuthorize("@ss.hasPermi('system:model:edit')")
     @Log(title = "模型管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdModelManagement ardModelManagement) {
@@ -99,7 +99,7 @@
      * 删除模型管理
      */
     @ApiOperation("删除模型管理")
-    @PreAuthorize("@ss.hasPermi('system:management:remove')")
+    @PreAuthorize("@ss.hasPermi('system:model:remove')")
     @Log(title = "模型管理", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
diff --git a/ard-admin/src/main/java/com/ard/web/controller/data/ArdNoFlyZoneController.java b/ard-admin/src/main/java/com/ard/web/controller/data/ArdNoFlyZoneController.java
new file mode 100644
index 0000000..b701ebe
--- /dev/null
+++ b/ard-admin/src/main/java/com/ard/web/controller/data/ArdNoFlyZoneController.java
@@ -0,0 +1,157 @@
+package com.ard.web.controller.data;
+
+import com.alibaba.fastjson2.JSON;
+import com.ard.common.utils.uuid.IdUtils;
+import com.ard.system.domain.noflyzone.FeatureCollection;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import java.nio.charset.StandardCharsets;
+import java.util.List;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import com.ard.common.annotation.Log;
+import com.ard.common.core.controller.BaseController;
+import com.ard.common.core.domain.AjaxResult;
+import com.ard.common.enums.BusinessType;
+import com.ard.system.domain.noflyzone.ArdNoFlyZone;
+import com.ard.system.service.noflyzone.IArdNoFlyZoneService;
+import com.ard.common.utils.poi.ExcelUtil;
+import com.ard.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 禁飞区管理Controller
+ *
+ * @author ruoyi
+ * @date 2025-10-14
+ */
+@Api(tags = "禁飞区管理")
+@RestController
+@RequestMapping("/data/noflyzone")
+public class ArdNoFlyZoneController extends BaseController
+{
+    @Resource
+    private IArdNoFlyZoneService ardNoFlyZoneService;
+
+    /**
+     * 查询禁飞区管理列表
+     */
+    @ApiOperation("查询禁飞区管理列表")
+    @PreAuthorize("@ss.hasPermi('data:noflyzone:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ArdNoFlyZone ardNoFlyZone)
+    {
+        startPage();
+        List<ArdNoFlyZone> list = ardNoFlyZoneService.selectArdNoFlyZoneList(ardNoFlyZone);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出禁飞区管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('data:noflyzone:export')")
+    @Log(title = "禁飞区管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ArdNoFlyZone ardNoFlyZone)
+    {
+        List<ArdNoFlyZone> list = ardNoFlyZoneService.selectArdNoFlyZoneList(ardNoFlyZone);
+        ExcelUtil<ArdNoFlyZone> util = new ExcelUtil<ArdNoFlyZone>(ArdNoFlyZone.class);
+        util.exportExcel(response, list, "禁飞区管理数据");
+    }
+
+    /**
+     * 获取禁飞区管理详细信息
+     */
+    @ApiOperation("获取禁飞区管理详细信息")
+    @PreAuthorize("@ss.hasPermi('data:noflyzone:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(ardNoFlyZoneService.selectArdNoFlyZoneById(id));
+    }
+
+    /**
+     * 新增禁飞区管理
+     */
+    @ApiOperation("新增禁飞区管理")
+    @PreAuthorize("@ss.hasPermi('data:noflyzone:add')")
+    @Log(title = "禁飞区管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ArdNoFlyZone ardNoFlyZone)
+    {
+        return toAjax(ardNoFlyZoneService.insertArdNoFlyZone(ardNoFlyZone));
+    }
+
+    /**
+     * 修改禁飞区管理
+     */
+    @ApiOperation("修改禁飞区管理")
+    @PreAuthorize("@ss.hasPermi('data:noflyzone:edit')")
+    @Log(title = "禁飞区管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ArdNoFlyZone ardNoFlyZone)
+    {
+        return toAjax(ardNoFlyZoneService.updateArdNoFlyZone(ardNoFlyZone));
+    }
+
+    /**
+     * 删除禁飞区管理
+     */
+    @ApiOperation("删除禁飞区管理")
+    @PreAuthorize("@ss.hasPermi('data:noflyzone:remove')")
+    @Log(title = "禁飞区管理", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(ardNoFlyZoneService.deleteArdNoFlyZoneByIds(ids));
+    }
+
+    /**
+     * 上传 GeoJSON 文件导入禁飞区
+     */
+    @ApiOperation("上传 GeoJSON 文件导入禁飞区")
+    @PreAuthorize("@ss.hasPermi('data:noflyzone:import')")
+    @Log(title = "禁飞区管理", businessType = BusinessType.IMPORT)
+    @PostMapping("/import")
+    public AjaxResult importGeoJson(@RequestPart("file") MultipartFile file) {
+        if (file.isEmpty()) {
+            return AjaxResult.error("上传文件为空");
+        }
+
+        try {
+            // 读取文件内容为字符串
+            String jsonStr = new String(file.getBytes(), StandardCharsets.UTF_8);
+
+            // 解析成 FeatureCollection 对象
+            FeatureCollection featureCollection = JSON.parseObject(jsonStr, FeatureCollection.class);
+
+            int successCount = 0;
+            for (FeatureCollection.Feature feature : featureCollection.getFeatures()) {
+                ArdNoFlyZone zone = new ArdNoFlyZone();
+                zone.setId(IdUtils.simpleUUID());
+                zone.setName(feature.getName() != null ? feature.getName() : "未命名禁飞区");
+
+                // 单独包装 FeatureCollection
+                FeatureCollection singleFc = new FeatureCollection();
+                singleFc.setType("FeatureCollection");
+                singleFc.setName(featureCollection.getName());
+                singleFc.setFeatures(List.of(feature));
+                zone.setGeojson(singleFc);
+
+                // 调用 Service 插入
+                ardNoFlyZoneService.insertArdNoFlyZone(zone);
+                successCount++;
+            }
+
+            return AjaxResult.success("导入成功,共导入 " + successCount + " 条禁飞区");
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error("导入失败:" + e.getMessage());
+        }
+    }
+
+}
diff --git a/ard-admin/src/main/java/com/ard/web/controller/data/ArdTileManagementController.java b/ard-admin/src/main/java/com/ard/web/controller/data/ArdTileManagementController.java
index 6a9083e..04e12f8 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/data/ArdTileManagementController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/data/ArdTileManagementController.java
@@ -3,8 +3,8 @@
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
-import com.ard.data.domain.ArdTileManagement;
-import com.ard.data.service.IArdTileManagementService;
+import com.ard.system.domain.data.ArdTileManagement;
+import com.ard.system.service.data.IArdTileManagementService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -42,7 +42,7 @@
      * 查询tile管理列表
      */
     @ApiOperation("查询tile管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:list')")
+    @PreAuthorize("@ss.hasPermi('system:tile:list')")
     @GetMapping("/list")
     public TableDataInfo list(ArdTileManagement ardTileManagement) {
         startPage();
@@ -54,7 +54,7 @@
      * 导出tile管理列表
      */
     @ApiOperation("导出tile管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:export')")
+    @PreAuthorize("@ss.hasPermi('system:tile:export')")
     @Log(title = "tile管理", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ArdTileManagement ardTileManagement) {
@@ -67,7 +67,7 @@
      * 获取tile管理详细信息
      */
     @ApiOperation("获取tile管理详细信息")
-    @PreAuthorize("@ss.hasPermi('system:management:query')")
+    @PreAuthorize("@ss.hasPermi('system:tile:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(ardTileManagementService.selectArdTileManagementById(id));
@@ -77,7 +77,7 @@
      * 新增tile管理
      */
     @ApiOperation("新增tile管理")
-    @PreAuthorize("@ss.hasPermi('system:management:add')")
+    @PreAuthorize("@ss.hasPermi('system:tile:add')")
     @Log(title = "tile管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ArdTileManagement ardTileManagement) {
@@ -88,7 +88,7 @@
      * 修改tile管理
      */
     @ApiOperation("修改tile管理")
-    @PreAuthorize("@ss.hasPermi('system:management:edit')")
+    @PreAuthorize("@ss.hasPermi('system:tile:edit')")
     @Log(title = "tile管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdTileManagement ardTileManagement) {
@@ -99,7 +99,7 @@
      * 删除tile管理
      */
     @ApiOperation("删除tile管理")
-    @PreAuthorize("@ss.hasPermi('system:management:remove')")
+    @PreAuthorize("@ss.hasPermi('system:tile:remove')")
     @Log(title = "tile管理", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
diff --git a/ard-admin/src/main/java/com/ard/web/controller/monitor/CacheController.java b/ard-admin/src/main/java/com/ard/web/controller/monitor/CacheController.java
index dec29e2..93d23e5 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/monitor/CacheController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/monitor/CacheController.java
@@ -20,7 +20,7 @@
 import com.ard.common.constant.CacheConstants;
 import com.ard.common.core.domain.AjaxResult;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.domain.SysCache;
+import com.ard.system.domain.system.SysCache;
 
 /**
  * 缓存监控
diff --git a/ard-admin/src/main/java/com/ard/web/controller/monitor/SysLogininforController.java b/ard-admin/src/main/java/com/ard/web/controller/monitor/SysLogininforController.java
index 1cebd93..7bdf098 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/monitor/SysLogininforController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/monitor/SysLogininforController.java
@@ -17,8 +17,8 @@
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.poi.ExcelUtil;
 import com.ard.framework.web.service.SysPasswordService;
-import com.ard.system.domain.SysLogininfor;
-import com.ard.system.service.ISysLogininforService;
+import com.ard.system.domain.system.SysLogininfor;
+import com.ard.system.service.system.ISysLogininforService;
 
 /**
  * 系统访问记录
diff --git a/ard-admin/src/main/java/com/ard/web/controller/monitor/SysOperlogController.java b/ard-admin/src/main/java/com/ard/web/controller/monitor/SysOperlogController.java
index 4343e17..0354560 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/monitor/SysOperlogController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/monitor/SysOperlogController.java
@@ -16,8 +16,8 @@
 import com.ard.common.core.page.TableDataInfo;
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.poi.ExcelUtil;
-import com.ard.system.domain.SysOperLog;
-import com.ard.system.service.ISysOperLogService;
+import com.ard.system.domain.system.SysOperLog;
+import com.ard.system.service.system.ISysOperLogService;
 
 /**
  * 操作日志记录
diff --git a/ard-admin/src/main/java/com/ard/web/controller/monitor/SysUserOnlineController.java b/ard-admin/src/main/java/com/ard/web/controller/monitor/SysUserOnlineController.java
index 3e7b2da..12b78c1 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/monitor/SysUserOnlineController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/monitor/SysUserOnlineController.java
@@ -20,8 +20,8 @@
 import com.ard.common.core.redis.RedisCache;
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.domain.SysUserOnline;
-import com.ard.system.service.ISysUserOnlineService;
+import com.ard.system.domain.system.SysUserOnline;
+import com.ard.system.service.system.ISysUserOnlineService;
 
 /**
  * 在线用户监控
diff --git a/ard-admin/src/main/java/com/ard/web/controller/route/UavRouteController.java b/ard-admin/src/main/java/com/ard/web/controller/route/UavRouteController.java
index 5c3640d..10d0cb0 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/route/UavRouteController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/route/UavRouteController.java
@@ -1,7 +1,7 @@
 package com.ard.web.controller.route;
 
-import com.ard.route.kmz.domain.UavRouteReq;
-import com.ard.route.kmz.service.UavRouteService;
+import com.ard.route.domain.UavRouteReq;
+import com.ard.route.service.UavRouteService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.PostMapping;
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/AuthorizationController.java b/ard-admin/src/main/java/com/ard/web/controller/system/AuthorizationController.java
index baf5a54..151a6fd 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/AuthorizationController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/AuthorizationController.java
@@ -1,7 +1,7 @@
 package com.ard.web.controller.system;
 
 import com.alibaba.fastjson2.JSONObject;
-import com.ard.authorize.service.AuthorizeService;
+import com.ard.system.service.authorize.AuthorizeService;
 import com.ard.common.annotation.Anonymous;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysConfigController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysConfigController.java
index 1e23abc..7e2837d 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysConfigController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysConfigController.java
@@ -19,8 +19,8 @@
 import com.ard.common.core.page.TableDataInfo;
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.poi.ExcelUtil;
-import com.ard.system.domain.SysConfig;
-import com.ard.system.service.ISysConfigService;
+import com.ard.system.domain.system.SysConfig;
+import com.ard.system.service.system.ISysConfigService;
 
 /**
  * 参数配置 信息操作处理
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysDeptController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysDeptController.java
index 8414417..377cc49 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysDeptController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysDeptController.java
@@ -20,7 +20,7 @@
 import com.ard.common.core.domain.entity.SysDept;
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.service.ISysDeptService;
+import com.ard.system.service.system.ISysDeptService;
 
 /**
  * 部门信息
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysDictDataController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysDictDataController.java
index 3f20dd7..b0856a7 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysDictDataController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysDictDataController.java
@@ -22,8 +22,8 @@
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.StringUtils;
 import com.ard.common.utils.poi.ExcelUtil;
-import com.ard.system.service.ISysDictDataService;
-import com.ard.system.service.ISysDictTypeService;
+import com.ard.system.service.system.ISysDictDataService;
+import com.ard.system.service.system.ISysDictTypeService;
 
 /**
  * 数据字典信息
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysDictTypeController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysDictTypeController.java
index 548d2bb..b1e36cf 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysDictTypeController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysDictTypeController.java
@@ -20,7 +20,7 @@
 import com.ard.common.core.page.TableDataInfo;
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.poi.ExcelUtil;
-import com.ard.system.service.ISysDictTypeService;
+import com.ard.system.service.system.ISysDictTypeService;
 
 /**
  * 数据字典信息
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysLoginController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysLoginController.java
index 9ba7d34..ac37dc4 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysLoginController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysLoginController.java
@@ -22,7 +22,7 @@
 import com.ard.framework.web.service.SysLoginService;
 import com.ard.framework.web.service.SysPermissionService;
 import com.ard.framework.web.service.TokenService;
-import com.ard.system.service.ISysMenuService;
+import com.ard.system.service.system.ISysMenuService;
 
 /**
  * 登录验证
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysMenuController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysMenuController.java
index d785d89..ae2b867 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysMenuController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysMenuController.java
@@ -19,7 +19,7 @@
 import com.ard.common.core.domain.entity.SysMenu;
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.service.ISysMenuService;
+import com.ard.system.service.system.ISysMenuService;
 
 /**
  * 菜单信息
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysNoticeController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysNoticeController.java
index 13ea9b7..30d8ab4 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysNoticeController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysNoticeController.java
@@ -17,8 +17,8 @@
 import com.ard.common.core.domain.AjaxResult;
 import com.ard.common.core.page.TableDataInfo;
 import com.ard.common.enums.BusinessType;
-import com.ard.system.domain.SysNotice;
-import com.ard.system.service.ISysNoticeService;
+import com.ard.system.domain.system.SysNotice;
+import com.ard.system.service.system.ISysNoticeService;
 
 /**
  * 公告 信息操作处理
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysPostController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysPostController.java
index 5202be8..686345f 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysPostController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysPostController.java
@@ -19,8 +19,8 @@
 import com.ard.common.core.page.TableDataInfo;
 import com.ard.common.enums.BusinessType;
 import com.ard.common.utils.poi.ExcelUtil;
-import com.ard.system.domain.SysPost;
-import com.ard.system.service.ISysPostService;
+import com.ard.system.domain.system.SysPost;
+import com.ard.system.service.system.ISysPostService;
 
 /**
  * 岗位信息操作处理
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysProfileController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysProfileController.java
index 572c205..90728a3 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysProfileController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysProfileController.java
@@ -21,7 +21,7 @@
 import com.ard.common.utils.file.FileUploadUtils;
 import com.ard.common.utils.file.MimeTypeUtils;
 import com.ard.framework.web.service.TokenService;
-import com.ard.system.service.ISysUserService;
+import com.ard.system.service.system.ISysUserService;
 
 /**
  * 个人信息 业务处理
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysRegisterController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysRegisterController.java
index 95cb7f0..ae8210a 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysRegisterController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysRegisterController.java
@@ -9,7 +9,7 @@
 import com.ard.common.core.domain.model.RegisterBody;
 import com.ard.common.utils.StringUtils;
 import com.ard.framework.web.service.SysRegisterService;
-import com.ard.system.service.ISysConfigService;
+import com.ard.system.service.system.ISysConfigService;
 
 /**
  * 注册验证
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysRoleController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysRoleController.java
index 749453c..c4f47c7 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysRoleController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysRoleController.java
@@ -26,10 +26,10 @@
 import com.ard.common.utils.poi.ExcelUtil;
 import com.ard.framework.web.service.SysPermissionService;
 import com.ard.framework.web.service.TokenService;
-import com.ard.system.domain.SysUserRole;
-import com.ard.system.service.ISysDeptService;
-import com.ard.system.service.ISysRoleService;
-import com.ard.system.service.ISysUserService;
+import com.ard.system.domain.system.SysUserRole;
+import com.ard.system.service.system.ISysDeptService;
+import com.ard.system.service.system.ISysRoleService;
+import com.ard.system.service.system.ISysUserService;
 
 /**
  * 角色信息
diff --git a/ard-admin/src/main/java/com/ard/web/controller/system/SysUserController.java b/ard-admin/src/main/java/com/ard/web/controller/system/SysUserController.java
index 0b9de9b..b97d953 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/system/SysUserController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/system/SysUserController.java
@@ -30,10 +30,10 @@
 import com.ard.common.utils.SecurityUtils;
 import com.ard.common.utils.StringUtils;
 import com.ard.common.utils.poi.ExcelUtil;
-import com.ard.system.service.ISysDeptService;
-import com.ard.system.service.ISysPostService;
-import com.ard.system.service.ISysRoleService;
-import com.ard.system.service.ISysUserService;
+import com.ard.system.service.system.ISysDeptService;
+import com.ard.system.service.system.ISysPostService;
+import com.ard.system.service.system.ISysRoleService;
+import com.ard.system.service.system.ISysUserService;
 
 /**
  * 用户信息
diff --git a/ard-admin/src/main/java/com/ard/web/controller/work/ArdDroneController.java b/ard-admin/src/main/java/com/ard/web/controller/work/ArdDroneInfoController.java
similarity index 75%
rename from ard-admin/src/main/java/com/ard/web/controller/work/ArdDroneController.java
rename to ard-admin/src/main/java/com/ard/web/controller/work/ArdDroneInfoController.java
index b8386e4..8fa7b74 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/work/ArdDroneController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/work/ArdDroneInfoController.java
@@ -5,7 +5,7 @@
 
 import com.ard.common.utils.poi.ExcelUtil;
 import com.ard.work.domain.entity.ArdDroneInfo;
-import com.ard.work.service.IArdDroneService;
+import com.ard.work.service.IArdDroneInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -33,20 +33,20 @@
 @Api(tags = "无人机管理接口")
 @RestController
 @RequestMapping("/uav/drone")
-public class ArdDroneController extends BaseController {
+public class ArdDroneInfoController extends BaseController {
 
     @Autowired
-    private IArdDroneService ardDroneService;
+    private IArdDroneInfoService ardDroneInfoService;
 
     /**
      * 查询无人机管理列表
      */
     @ApiOperation("查询无人机管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:list')")
+    @PreAuthorize("@ss.hasPermi('work:drone:list')")
     @GetMapping("/list")
     public TableDataInfo list(ArdDroneInfo ardDroneInfo) {
         startPage();
-        List<ArdDroneInfo> list = ardDroneService.selectArdDroneList(ardDroneInfo);
+        List<ArdDroneInfo> list = ardDroneInfoService.selectArdDroneList(ardDroneInfo);
         return getDataTable(list);
     }
 
@@ -54,11 +54,11 @@
      * 导出无人机管理列表
      */
     @ApiOperation("导出无人机管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:export')")
+    @PreAuthorize("@ss.hasPermi('work:drone:export')")
     @Log(title = "无人机管理", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ArdDroneInfo ardDroneInfo) {
-        List<ArdDroneInfo> list = ardDroneService.selectArdDroneList(ardDroneInfo);
+        List<ArdDroneInfo> list = ardDroneInfoService.selectArdDroneList(ardDroneInfo);
         ExcelUtil<ArdDroneInfo> util = new ExcelUtil<ArdDroneInfo>(ArdDroneInfo.class);
         util.exportExcel(response, list, "无人机管理数据");
     }
@@ -67,43 +67,43 @@
      * 获取无人机管理详细信息
      */
     @ApiOperation("获取无人机管理详细信息")
-    @PreAuthorize("@ss.hasPermi('system:management:query')")
+    @PreAuthorize("@ss.hasPermi('work:drone:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
-        return success(ardDroneService.selectArdDroneById(id));
+        return success(ardDroneInfoService.selectArdDroneById(id));
     }
 
     /**
      * 新增无人机管理
      */
     @ApiOperation("新增无人机管理")
-    @PreAuthorize("@ss.hasPermi('system:management:add')")
+    @PreAuthorize("@ss.hasPermi('work:drone:add')")
     @Log(title = "无人机管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ArdDroneInfo ardDroneInfo) {
-        return toAjax(ardDroneService.insertArdDrone(ardDroneInfo));
+        return toAjax(ardDroneInfoService.insertArdDrone(ardDroneInfo));
     }
 
     /**
      * 修改无人机管理
      */
     @ApiOperation("修改无人机管理")
-    @PreAuthorize("@ss.hasPermi('system:management:edit')")
+    @PreAuthorize("@ss.hasPermi('work:drone:edit')")
     @Log(title = "无人机管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdDroneInfo ardDroneInfo) {
-        return toAjax(ardDroneService.updateArdDrone(ardDroneInfo));
+        return toAjax(ardDroneInfoService.updateArdDrone(ardDroneInfo));
     }
 
     /**
      * 删除无人机管理
      */
     @ApiOperation("删除无人机管理")
-    @PreAuthorize("@ss.hasPermi('system:management:remove')")
+    @PreAuthorize("@ss.hasPermi('work:drone:remove')")
     @Log(title = "无人机管理", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
-        return toAjax(ardDroneService.deleteArdDroneByIds(ids));
+        return toAjax(ardDroneInfoService.deleteArdDroneByIds(ids));
     }
 
 }
diff --git a/ard-admin/src/main/java/com/ard/web/controller/work/ArdServerController.java b/ard-admin/src/main/java/com/ard/web/controller/work/ArdServerInfoController.java
similarity index 73%
rename from ard-admin/src/main/java/com/ard/web/controller/work/ArdServerController.java
rename to ard-admin/src/main/java/com/ard/web/controller/work/ArdServerInfoController.java
index c32fa9d..84e0ca5 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/work/ArdServerController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/work/ArdServerInfoController.java
@@ -4,7 +4,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 import com.ard.work.domain.entity.ArdServerInfo;
-import com.ard.work.service.IArdServerService;
+import com.ard.work.service.IArdServerInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -33,20 +33,20 @@
 @Api(tags = "服务器管理接口")
 @RestController
 @RequestMapping("/uav/server")
-public class ArdServerController extends BaseController {
+public class ArdServerInfoController extends BaseController {
 
     @Autowired
-    private IArdServerService ardServerManagementService;
+    private IArdServerInfoService ardServerInfoService;
 
     /**
      * 查询服务器管理列表
      */
     @ApiOperation("查询服务器管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:list')")
+    @PreAuthorize("@ss.hasPermi('work:server:list')")
     @GetMapping("/list")
     public TableDataInfo list(ArdServerInfo ardServerInfo) {
         startPage();
-        List<ArdServerInfo> list = ardServerManagementService.selectArdServerManagementList(ardServerInfo);
+        List<ArdServerInfo> list = ardServerInfoService.selectArdServerInfoList(ardServerInfo);
         return getDataTable(list);
     }
 
@@ -54,11 +54,11 @@
      * 导出服务器管理列表
      */
     @ApiOperation("导出服务器管理列表")
-    @PreAuthorize("@ss.hasPermi('system:management:export')")
+    @PreAuthorize("@ss.hasPermi('work:server:export')")
     @Log(title = "服务器管理", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ArdServerInfo ardServerInfo) {
-        List<ArdServerInfo> list = ardServerManagementService.selectArdServerManagementList(ardServerInfo);
+        List<ArdServerInfo> list = ardServerInfoService.selectArdServerInfoList(ardServerInfo);
         ExcelUtil<ArdServerInfo> util = new ExcelUtil<ArdServerInfo>(ArdServerInfo.class);
         util.exportExcel(response, list, "服务器管理数据");
     }
@@ -67,43 +67,43 @@
      * 获取服务器管理详细信息
      */
     @ApiOperation("获取服务器管理详细信息")
-    @PreAuthorize("@ss.hasPermi('system:management:query')")
+    @PreAuthorize("@ss.hasPermi('work:server:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
-        return success(ardServerManagementService.selectArdServerManagementById(id));
+        return success(ardServerInfoService.selectArdServerInfoById(id));
     }
 
     /**
      * 新增服务器管理
      */
     @ApiOperation("新增服务器管理")
-    @PreAuthorize("@ss.hasPermi('system:management:add')")
+    @PreAuthorize("@ss.hasPermi('work:server:add')")
     @Log(title = "服务器管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ArdServerInfo ardServerInfo) {
-        return toAjax(ardServerManagementService.insertArdServerManagement(ardServerInfo));
+        return toAjax(ardServerInfoService.insertArdServerInfo(ardServerInfo));
     }
 
     /**
      * 修改服务器管理
      */
     @ApiOperation("修改服务器管理")
-    @PreAuthorize("@ss.hasPermi('system:management:edit')")
+    @PreAuthorize("@ss.hasPermi('work:server:edit')")
     @Log(title = "服务器管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdServerInfo ardServerInfo) {
-        return toAjax(ardServerManagementService.updateArdServerManagement(ardServerInfo));
+        return toAjax(ardServerInfoService.updateArdServerInfo(ardServerInfo));
     }
 
     /**
      * 删除服务器管理
      */
     @ApiOperation("删除服务器管理")
-    @PreAuthorize("@ss.hasPermi('system:management:remove')")
+    @PreAuthorize("@ss.hasPermi('work:server:remove')")
     @Log(title = "服务器管理", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
-        return toAjax(ardServerManagementService.deleteArdServerManagementByIds(ids));
+        return toAjax(ardServerInfoService.deleteArdServerInfoByIds(ids));
     }
 
 }
diff --git a/ard-common/pom.xml b/ard-common/pom.xml
index cdf374a..96cf934 100644
--- a/ard-common/pom.xml
+++ b/ard-common/pom.xml
@@ -119,7 +119,7 @@
             <artifactId>javax.servlet-api</artifactId>
         </dependency>
 
-        <!-- ruoyi-springboot2 / mybatis-plus 配置 -->
+        <!--  mybatis-plus -->
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter</artifactId>
diff --git a/ard-framework/src/main/java/com/ard/framework/aspectj/LogAspect.java b/ard-framework/src/main/java/com/ard/framework/aspectj/LogAspect.java
index 43e1fc4..7932226 100644
--- a/ard-framework/src/main/java/com/ard/framework/aspectj/LogAspect.java
+++ b/ard-framework/src/main/java/com/ard/framework/aspectj/LogAspect.java
@@ -29,7 +29,7 @@
 import com.ard.common.utils.ip.IpUtils;
 import com.ard.framework.manager.AsyncManager;
 import com.ard.framework.manager.factory.AsyncFactory;
-import com.ard.system.domain.SysOperLog;
+import com.ard.system.domain.system.SysOperLog;
 
 /**
  * 操作日志记录处理
diff --git a/ard-framework/src/main/java/com/ard/framework/manager/factory/AsyncFactory.java b/ard-framework/src/main/java/com/ard/framework/manager/factory/AsyncFactory.java
index 9c20c34..e0aa02e 100644
--- a/ard-framework/src/main/java/com/ard/framework/manager/factory/AsyncFactory.java
+++ b/ard-framework/src/main/java/com/ard/framework/manager/factory/AsyncFactory.java
@@ -10,10 +10,10 @@
 import com.ard.common.utils.ip.AddressUtils;
 import com.ard.common.utils.ip.IpUtils;
 import com.ard.common.utils.spring.SpringUtils;
-import com.ard.system.domain.SysLogininfor;
-import com.ard.system.domain.SysOperLog;
-import com.ard.system.service.ISysLogininforService;
-import com.ard.system.service.ISysOperLogService;
+import com.ard.system.domain.system.SysLogininfor;
+import com.ard.system.domain.system.SysOperLog;
+import com.ard.system.service.system.ISysLogininforService;
+import com.ard.system.service.system.ISysOperLogService;
 import eu.bitwalker.useragentutils.UserAgent;
 
 /**
diff --git a/ard-framework/src/main/java/com/ard/framework/web/service/SysLoginService.java b/ard-framework/src/main/java/com/ard/framework/web/service/SysLoginService.java
index d7fec9a..01d5784 100644
--- a/ard-framework/src/main/java/com/ard/framework/web/service/SysLoginService.java
+++ b/ard-framework/src/main/java/com/ard/framework/web/service/SysLoginService.java
@@ -30,8 +30,8 @@
 import com.ard.framework.manager.AsyncManager;
 import com.ard.framework.manager.factory.AsyncFactory;
 import com.ard.framework.security.context.AuthenticationContextHolder;
-import com.ard.system.service.ISysConfigService;
-import com.ard.system.service.ISysUserService;
+import com.ard.system.service.system.ISysConfigService;
+import com.ard.system.service.system.ISysUserService;
 
 /**
  * 登录校验方法
diff --git a/ard-framework/src/main/java/com/ard/framework/web/service/SysPermissionService.java b/ard-framework/src/main/java/com/ard/framework/web/service/SysPermissionService.java
index 2aa845b..8dcc3fa 100644
--- a/ard-framework/src/main/java/com/ard/framework/web/service/SysPermissionService.java
+++ b/ard-framework/src/main/java/com/ard/framework/web/service/SysPermissionService.java
@@ -10,8 +10,8 @@
 import com.ard.common.core.domain.entity.SysRole;
 import com.ard.common.core.domain.entity.SysUser;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.service.ISysMenuService;
-import com.ard.system.service.ISysRoleService;
+import com.ard.system.service.system.ISysMenuService;
+import com.ard.system.service.system.ISysRoleService;
 
 /**
  * 用户权限处理
diff --git a/ard-framework/src/main/java/com/ard/framework/web/service/SysRegisterService.java b/ard-framework/src/main/java/com/ard/framework/web/service/SysRegisterService.java
index 9aae269..691a279 100644
--- a/ard-framework/src/main/java/com/ard/framework/web/service/SysRegisterService.java
+++ b/ard-framework/src/main/java/com/ard/framework/web/service/SysRegisterService.java
@@ -15,8 +15,8 @@
 import com.ard.common.utils.StringUtils;
 import com.ard.framework.manager.AsyncManager;
 import com.ard.framework.manager.factory.AsyncFactory;
-import com.ard.system.service.ISysConfigService;
-import com.ard.system.service.ISysUserService;
+import com.ard.system.service.system.ISysConfigService;
+import com.ard.system.service.system.ISysUserService;
 
 /**
  * 注册校验方法
diff --git a/ard-framework/src/main/java/com/ard/framework/web/service/UserDetailsServiceImpl.java b/ard-framework/src/main/java/com/ard/framework/web/service/UserDetailsServiceImpl.java
index 172ca65..917634c 100644
--- a/ard-framework/src/main/java/com/ard/framework/web/service/UserDetailsServiceImpl.java
+++ b/ard-framework/src/main/java/com/ard/framework/web/service/UserDetailsServiceImpl.java
@@ -13,7 +13,7 @@
 import com.ard.common.exception.ServiceException;
 import com.ard.common.utils.MessageUtils;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.service.ISysUserService;
+import com.ard.system.service.system.ISysUserService;
 
 /**
  * 用户验证处理
diff --git a/ard-route/src/main/java/com/ard/route/kmz/constant/FileTypeConstants.java b/ard-route/src/main/java/com/ard/route/constant/FileTypeConstants.java
similarity index 90%
rename from ard-route/src/main/java/com/ard/route/kmz/constant/FileTypeConstants.java
rename to ard-route/src/main/java/com/ard/route/constant/FileTypeConstants.java
index 9340708..38d365d 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/constant/FileTypeConstants.java
+++ b/ard-route/src/main/java/com/ard/route/constant/FileTypeConstants.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.constant;
+package com.ard.route.constant;
 
 public interface FileTypeConstants {
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/ActionTriggerReq.java b/ard-route/src/main/java/com/ard/route/domain/ActionTriggerReq.java
similarity index 90%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/ActionTriggerReq.java
rename to ard-route/src/main/java/com/ard/route/domain/ActionTriggerReq.java
index fe793ea..ed6f4f1 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/ActionTriggerReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/ActionTriggerReq.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain;
+package com.ard.route.domain;
 
 import lombok.Data;
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/CoordinatePointReq.java b/ard-route/src/main/java/com/ard/route/domain/CoordinatePointReq.java
similarity index 91%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/CoordinatePointReq.java
rename to ard-route/src/main/java/com/ard/route/domain/CoordinatePointReq.java
index b692a1f..1f02dbb 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/CoordinatePointReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/CoordinatePointReq.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain;
+package com.ard.route.domain;
 
 import lombok.Data;
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/MappingTypeReq.java b/ard-route/src/main/java/com/ard/route/domain/MappingTypeReq.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/MappingTypeReq.java
rename to ard-route/src/main/java/com/ard/route/domain/MappingTypeReq.java
index d88690b..6c2016b 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/MappingTypeReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/MappingTypeReq.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain;
+package com.ard.route.domain;
 
 import lombok.Data;
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/PointActionReq.java b/ard-route/src/main/java/com/ard/route/domain/PointActionReq.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/PointActionReq.java
rename to ard-route/src/main/java/com/ard/route/domain/PointActionReq.java
index ac0870e..d0c0806 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/PointActionReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/PointActionReq.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain;
+package com.ard.route.domain;
 
 import lombok.Data;
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/RoutePointReq.java b/ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/RoutePointReq.java
rename to ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java
index ba528eb..15aab97 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/RoutePointReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain;
+package com.ard.route.domain;
 
 import lombok.Data;
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/UavRouteReq.java b/ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java
similarity index 97%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/UavRouteReq.java
rename to ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java
index 64d1917..e886147 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/UavRouteReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain;
+package com.ard.route.domain;
 
 import lombok.Data;
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/WaypointHeadingReq.java b/ard-route/src/main/java/com/ard/route/domain/WaypointHeadingReq.java
similarity index 91%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/WaypointHeadingReq.java
rename to ard-route/src/main/java/com/ard/route/domain/WaypointHeadingReq.java
index 080fc23..1cf1f2d 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/WaypointHeadingReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/WaypointHeadingReq.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain;
+package com.ard.route.domain;
 
 import lombok.Data;
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/WaypointTurnReq.java b/ard-route/src/main/java/com/ard/route/domain/WaypointTurnReq.java
similarity index 92%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/WaypointTurnReq.java
rename to ard-route/src/main/java/com/ard/route/domain/WaypointTurnReq.java
index 1cd4f6e..e9854d1 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/WaypointTurnReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/WaypointTurnReq.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain;
+package com.ard.route.domain;
 
 import lombok.Data;
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlAction.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlAction.java
similarity index 91%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlAction.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlAction.java
index 653b2b4..06583c6 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlAction.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlAction.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionActuatorFuncParam.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlActionActuatorFuncParam.java
similarity index 98%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionActuatorFuncParam.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlActionActuatorFuncParam.java
index fc40c11..eb7fa1b 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionActuatorFuncParam.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlActionActuatorFuncParam.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionGroup.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlActionGroup.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionGroup.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlActionGroup.java
index 595dd9f..d1c1302 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionGroup.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlActionGroup.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionTrigger.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlActionTrigger.java
similarity index 89%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionTrigger.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlActionTrigger.java
index 7c8f07b..8ea5fb9 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlActionTrigger.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlActionTrigger.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlDocument.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlDocument.java
similarity index 92%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlDocument.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlDocument.java
index cbe125e..8a90b10 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlDocument.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlDocument.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlDroneInfo.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlDroneInfo.java
similarity index 88%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlDroneInfo.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlDroneInfo.java
index d7b8d73..c69370c 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlDroneInfo.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlDroneInfo.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlFolder.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlFolder.java
similarity index 97%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlFolder.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlFolder.java
index 884dd4f..29338fd 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlFolder.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlFolder.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import com.thoughtworks.xstream.annotations.XStreamImplicit;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlGlobalWaypointHeadingParam.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlGlobalWaypointHeadingParam.java
similarity index 93%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlGlobalWaypointHeadingParam.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlGlobalWaypointHeadingParam.java
index c3867f4..19b98c9 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlGlobalWaypointHeadingParam.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlGlobalWaypointHeadingParam.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlInfo.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlInfo.java
similarity index 92%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlInfo.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlInfo.java
index 678be78..23dbb57 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlInfo.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlInfo.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlLineString.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlLineString.java
similarity index 84%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlLineString.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlLineString.java
index 50a86db..61b0299 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlLineString.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlLineString.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlLinearRing.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlLinearRing.java
similarity index 84%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlLinearRing.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlLinearRing.java
index e41f28f..a331e99 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlLinearRing.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlLinearRing.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlMissionConfig.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlMissionConfig.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlMissionConfig.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlMissionConfig.java
index 13a3999..80faaba 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlMissionConfig.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlMissionConfig.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlOuterBoundaryIs.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlOuterBoundaryIs.java
similarity index 85%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlOuterBoundaryIs.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlOuterBoundaryIs.java
index c61b3ea..13cbbfe 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlOuterBoundaryIs.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlOuterBoundaryIs.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlOverlap.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlOverlap.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlOverlap.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlOverlap.java
index 49e31c1..061b2e3 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlOverlap.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlOverlap.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlParams.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java
similarity index 88%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlParams.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java
index 4370f94..de84a46 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlParams.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java
@@ -1,8 +1,8 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
-import com.ard.route.kmz.domain.MappingTypeReq;
-import com.ard.route.kmz.domain.WaypointHeadingReq;
-import com.ard.route.kmz.domain.WaypointTurnReq;
+import com.ard.route.domain.MappingTypeReq;
+import com.ard.route.domain.WaypointHeadingReq;
+import com.ard.route.domain.WaypointTurnReq;
 import lombok.Data;
 
 import java.util.List;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPayloadInfo.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPayloadInfo.java
similarity index 89%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPayloadInfo.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlPayloadInfo.java
index 95f3eee..8662d08 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPayloadInfo.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPayloadInfo.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPayloadParam.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPayloadParam.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPayloadParam.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlPayloadParam.java
index c127131..e7cbfa0 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPayloadParam.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPayloadParam.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPlacemark.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPlacemark.java
similarity index 98%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPlacemark.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlPlacemark.java
index f3d4bcd..fe33390 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPlacemark.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPlacemark.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPoint.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPoint.java
similarity index 84%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPoint.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlPoint.java
index 13adf9f..666de8a 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPoint.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPoint.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPolygon.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPolygon.java
similarity index 85%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPolygon.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlPolygon.java
index 7c6b29c..25026e3 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlPolygon.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlPolygon.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWayLineCoordinateSysParam.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlWayLineCoordinateSysParam.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWayLineCoordinateSysParam.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlWayLineCoordinateSysParam.java
index d55754c..5f4a1af 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWayLineCoordinateSysParam.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlWayLineCoordinateSysParam.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointGimbalHeadingParam.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointGimbalHeadingParam.java
similarity index 90%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointGimbalHeadingParam.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointGimbalHeadingParam.java
index 0c96471..9025f27 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointGimbalHeadingParam.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointGimbalHeadingParam.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointHeadingParam.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointHeadingParam.java
similarity index 93%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointHeadingParam.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointHeadingParam.java
index e484361..5fe75d0 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointHeadingParam.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointHeadingParam.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointTurnParam.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointTurnParam.java
similarity index 89%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointTurnParam.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointTurnParam.java
index a8e98e0..5a04cea 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/KmlWaypointTurnParam.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlWaypointTurnParam.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/RoutePointInfo.java b/ard-route/src/main/java/com/ard/route/domain/kml/RoutePointInfo.java
similarity index 86%
rename from ard-route/src/main/java/com/ard/route/kmz/domain/kml/RoutePointInfo.java
rename to ard-route/src/main/java/com/ard/route/domain/kml/RoutePointInfo.java
index a8c7251..e82695d 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/domain/kml/RoutePointInfo.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/RoutePointInfo.java
@@ -1,8 +1,8 @@
-package com.ard.route.kmz.domain.kml;
+package com.ard.route.domain.kml;
 
-import com.ard.route.kmz.domain.PointActionReq;
-import com.ard.route.kmz.domain.WaypointHeadingReq;
-import com.ard.route.kmz.domain.WaypointTurnReq;
+import com.ard.route.domain.PointActionReq;
+import com.ard.route.domain.WaypointHeadingReq;
+import com.ard.route.domain.WaypointTurnReq;
 import lombok.Data;
 
 import java.io.Serializable;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionActuatorFuncEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ActionActuatorFuncEnums.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionActuatorFuncEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ActionActuatorFuncEnums.java
index b617e99..b1af235 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionActuatorFuncEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ActionActuatorFuncEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:actionActuatorFunc	 动作类型
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionGroupModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ActionGroupModeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionGroupModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ActionGroupModeEnums.java
index 97cf29b..5348730 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionGroupModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ActionGroupModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:actionGroupMode	 动作执行模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionTriggerTypeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ActionTriggerTypeEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionTriggerTypeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ActionTriggerTypeEnums.java
index 07256fb..7f4fe9c 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ActionTriggerTypeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ActionTriggerTypeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:actionTriggerType	 动作触发器类型
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/AircraftPathModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/AircraftPathModeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/AircraftPathModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/AircraftPathModeEnums.java
index be1fa1a..f20a0d0 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/AircraftPathModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/AircraftPathModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:aircraftPathMode	 飞行器偏航角转动模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/CollectionMethodEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/CollectionMethodEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/CollectionMethodEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/CollectionMethodEnums.java
index 54d6792..c8bf92c 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/CollectionMethodEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/CollectionMethodEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:overlap	 采集类型
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/DroneEnumValueEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/DroneEnumValueEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/DroneEnumValueEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/DroneEnumValueEnums.java
index 03beb27..3449f16 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/DroneEnumValueEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/DroneEnumValueEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:droneEnumValue	 飞行器机型主类型
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExecuteHeightModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ExecuteHeightModeEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExecuteHeightModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ExecuteHeightModeEnums.java
index c2b9ee3..93fdecc 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExecuteHeightModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ExecuteHeightModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:executeHeightMode 执行高度模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExecuteRCLostActionEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ExecuteRCLostActionEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExecuteRCLostActionEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ExecuteRCLostActionEnums.java
index 073c262..87e7caf 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExecuteRCLostActionEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ExecuteRCLostActionEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:executeRCLostAction	 失控动作类型
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExitOnRCLostEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ExitOnRCLostEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExitOnRCLostEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ExitOnRCLostEnums.java
index b55af40..a2276b2 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ExitOnRCLostEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ExitOnRCLostEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:exitOnRCLost 失控是否继续执行航线
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/FinishActionEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/FinishActionEnums.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/FinishActionEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/FinishActionEnums.java
index 8cc370d..d724e93 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/FinishActionEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/FinishActionEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:finishAction 航线结束动作
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/FlyToWaylineModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/FlyToWaylineModeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/FlyToWaylineModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/FlyToWaylineModeEnums.java
index 1c02254..30d18c2 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/FlyToWaylineModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/FlyToWaylineModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:flyToWaylineMode 飞向首航点模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/FocusModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/FocusModeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/FocusModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/FocusModeEnums.java
index 681c72f..5e58af6 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/FocusModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/FocusModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:focusMode		 负载对焦模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/GimbalPitchModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/GimbalPitchModeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/GimbalPitchModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/GimbalPitchModeEnums.java
index a9e1ac3..f2c1b6a 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/GimbalPitchModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/GimbalPitchModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:gimbalPitchMode	 云台俯仰角控制模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/GlobalWaypointTurnModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/GlobalWaypointTurnModeEnums.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/GlobalWaypointTurnModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/GlobalWaypointTurnModeEnums.java
index 1f567d8..663c812 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/GlobalWaypointTurnModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/GlobalWaypointTurnModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:globalWaypointTurnMode	 全局航点类型(全局航点转弯模式)
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/HeightModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/HeightModeEnums.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/HeightModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/HeightModeEnums.java
index 6b29695..3367d4f 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/HeightModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/HeightModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:heightMode	 航点高程参考平面
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ImageFormatEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ImageFormatEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ImageFormatEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ImageFormatEnums.java
index 9a60d2c..bf4f449 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ImageFormatEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ImageFormatEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:imageFormat		 图片格式列表
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/LensTypeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/LensTypeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/LensTypeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/LensTypeEnums.java
index 0f84d97..bfd4515 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/LensTypeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/LensTypeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:overlap	 采集类型
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/MeteringModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/MeteringModeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/MeteringModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/MeteringModeEnums.java
index 3b08baa..6ecb127 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/MeteringModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/MeteringModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:meteringMode		 负载测光模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/PayloadPositionIndexEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/PayloadPositionIndexEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/PayloadPositionIndexEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/PayloadPositionIndexEnums.java
index 9b799f7..3c15a76 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/PayloadPositionIndexEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/PayloadPositionIndexEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:payloadPositionIndex	 负载挂载位置
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/PayloadTypeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/PayloadTypeEnums.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/PayloadTypeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/PayloadTypeEnums.java
index 6305eca..640d3ca 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/PayloadTypeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/PayloadTypeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:payloadEnumValue	 负载机型主类型
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/PositioningTypeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/PositioningTypeEnums.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/PositioningTypeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/PositioningTypeEnums.java
index 290b232..4c6c934 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/PositioningTypeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/PositioningTypeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:positioningType	 经纬度与高度数据源
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ReturnModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ReturnModeEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ReturnModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ReturnModeEnums.java
index 457615b..087f19e 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ReturnModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ReturnModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:returnMode		 激光雷达回波模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ScanningModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ScanningModeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ScanningModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ScanningModeEnums.java
index 4941a30..3f58483 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ScanningModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ScanningModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:scanningMode		 负载扫描模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ShootTypeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/ShootTypeEnums.java
similarity index 94%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/ShootTypeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/ShootTypeEnums.java
index 6f4fb9b..314b83a 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/ShootTypeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/ShootTypeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:shootType 拍照模式(定时或定距)
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/TemplateTypeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/TemplateTypeEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/TemplateTypeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/TemplateTypeEnums.java
index 26fdb05..412c926 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/TemplateTypeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/TemplateTypeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:templateType	 预定义模板类型
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/WaypointHeadingModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/WaypointHeadingModeEnums.java
similarity index 96%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/WaypointHeadingModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/WaypointHeadingModeEnums.java
index 93dd3e2..ef1c440 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/WaypointHeadingModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/WaypointHeadingModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:waypointHeadingMode	 飞行器偏航角模式
diff --git a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/WaypointHeadingPathModeEnums.java b/ard-route/src/main/java/com/ard/route/enums/kml/WaypointHeadingPathModeEnums.java
similarity index 95%
rename from ard-route/src/main/java/com/ard/route/kmz/enums/kml/WaypointHeadingPathModeEnums.java
rename to ard-route/src/main/java/com/ard/route/enums/kml/WaypointHeadingPathModeEnums.java
index ad1afdd..bb9371d 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/enums/kml/WaypointHeadingPathModeEnums.java
+++ b/ard-route/src/main/java/com/ard/route/enums/kml/WaypointHeadingPathModeEnums.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.enums.kml;
+package com.ard.route.enums.kml;
 
 /**
  * wpml:waypointHeadingPathMode	 飞行器偏航角转动方向
diff --git a/ard-route/src/main/java/com/ard/route/kmz/service/UavRouteService.java b/ard-route/src/main/java/com/ard/route/service/UavRouteService.java
similarity index 73%
rename from ard-route/src/main/java/com/ard/route/kmz/service/UavRouteService.java
rename to ard-route/src/main/java/com/ard/route/service/UavRouteService.java
index 30434cf..6aef571 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/service/UavRouteService.java
+++ b/ard-route/src/main/java/com/ard/route/service/UavRouteService.java
@@ -1,6 +1,6 @@
-package com.ard.route.kmz.service;
+package com.ard.route.service;
 
-import com.ard.route.kmz.domain.UavRouteReq;
+import com.ard.route.domain.UavRouteReq;
 
 public interface UavRouteService {
 
diff --git a/ard-route/src/main/java/com/ard/route/kmz/service/impl/UavRouteServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
similarity index 91%
rename from ard-route/src/main/java/com/ard/route/kmz/service/impl/UavRouteServiceImpl.java
rename to ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
index cee3911..33b596b 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/service/impl/UavRouteServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
@@ -1,17 +1,17 @@
-package com.ard.route.kmz.service.impl;
+package com.ard.route.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.io.FileUtil;
-import com.ard.route.kmz.domain.kml.*;
-import com.ard.route.kmz.util.RouteFileUtils;
-import com.ard.route.kmz.constant.FileTypeConstants;
-import com.ard.route.kmz.domain.RoutePointReq;
-import com.ard.route.kmz.domain.UavRouteReq;
-import com.ard.route.kmz.domain.WaypointHeadingReq;
-import com.ard.route.kmz.domain.WaypointTurnReq;
-import com.ard.route.kmz.enums.kml.ExitOnRCLostEnums;
-import com.ard.route.kmz.service.UavRouteService;
+import com.ard.route.constant.FileTypeConstants;
+import com.ard.route.domain.RoutePointReq;
+import com.ard.route.domain.UavRouteReq;
+import com.ard.route.domain.WaypointHeadingReq;
+import com.ard.route.domain.WaypointTurnReq;
+import com.ard.route.domain.kml.*;
+import com.ard.route.enums.kml.ExitOnRCLostEnums;
+import com.ard.route.util.RouteFileUtils;
+import com.ard.route.service.UavRouteService;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.ArchiveInputStream;
 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/util/Gps.java b/ard-route/src/main/java/com/ard/route/util/Gps.java
similarity index 86%
rename from ard-route/src/main/java/com/ard/route/kmz/util/Gps.java
rename to ard-route/src/main/java/com/ard/route/util/Gps.java
index 402459b..7c4ff84 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/util/Gps.java
+++ b/ard-route/src/main/java/com/ard/route/util/Gps.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.util;
+package com.ard.route.util;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/ard-route/src/main/java/com/ard/route/kmz/util/PositionUtils.java b/ard-route/src/main/java/com/ard/route/util/PositionUtils.java
similarity index 99%
rename from ard-route/src/main/java/com/ard/route/kmz/util/PositionUtils.java
rename to ard-route/src/main/java/com/ard/route/util/PositionUtils.java
index 44df1ca..1a0a11c 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/util/PositionUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/PositionUtils.java
@@ -1,4 +1,4 @@
-package com.ard.route.kmz.util;
+package com.ard.route.util;
 /**
  * 各地图API坐标系统比较与转换;
  *
diff --git a/ard-route/src/main/java/com/ard/route/kmz/util/RouteFileUtils.java b/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
similarity index 99%
rename from ard-route/src/main/java/com/ard/route/kmz/util/RouteFileUtils.java
rename to ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
index c745a74..cff95f2 100644
--- a/ard-route/src/main/java/com/ard/route/kmz/util/RouteFileUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
@@ -1,12 +1,12 @@
-package com.ard.route.kmz.util;
+package com.ard.route.util;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
-import com.ard.route.kmz.domain.*;
-import com.ard.route.kmz.domain.kml.*;
-import com.ard.route.kmz.enums.kml.*;
-import com.ard.route.kmz.constant.FileTypeConstants;
+import com.ard.route.domain.*;
+import com.ard.route.domain.kml.*;
+import com.ard.route.enums.kml.*;
+import com.ard.route.constant.FileTypeConstants;
 import com.thoughtworks.xstream.XStream;
 import com.thoughtworks.xstream.io.xml.DomDriver;
 import org.apache.commons.lang3.StringUtils;
diff --git a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
index c6aa5aa..e62cb5f 100644
--- a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
@@ -26,7 +26,7 @@
 import com.ard.sample.manage.model.param.DeviceQueryParam;
 import com.ard.sample.manage.model.receiver.*;
 import com.ard.sample.manage.service.*;
-import com.ard.system.service.ISysDeptService;
+import com.ard.system.service.system.ISysDeptService;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/ard-system/src/main/java/com/ard/authorize/common/AuthorizeUtil.java b/ard-system/src/main/java/com/ard/system/authorize/common/AuthorizeUtil.java
similarity index 99%
rename from ard-system/src/main/java/com/ard/authorize/common/AuthorizeUtil.java
rename to ard-system/src/main/java/com/ard/system/authorize/common/AuthorizeUtil.java
index 4d5aea2..dc8b641 100644
--- a/ard-system/src/main/java/com/ard/authorize/common/AuthorizeUtil.java
+++ b/ard-system/src/main/java/com/ard/system/authorize/common/AuthorizeUtil.java
@@ -1,4 +1,4 @@
-package com.ard.authorize.common;
+package com.ard.system.authorize.common;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.binary.Hex;
diff --git a/ard-system/src/main/java/com/ard/authorize/common/DateTimeUtil.java b/ard-system/src/main/java/com/ard/system/common/DateTimeUtil.java
similarity index 99%
rename from ard-system/src/main/java/com/ard/authorize/common/DateTimeUtil.java
rename to ard-system/src/main/java/com/ard/system/common/DateTimeUtil.java
index 0010479..67beb43 100644
--- a/ard-system/src/main/java/com/ard/authorize/common/DateTimeUtil.java
+++ b/ard-system/src/main/java/com/ard/system/common/DateTimeUtil.java
@@ -1,4 +1,4 @@
-package com.ard.authorize.common;
+package com.ard.system.common;
 
 import org.apache.commons.lang3.time.DateUtils;
 
diff --git a/ard-system/src/main/java/com/ard/authorize/common/Md5Utils.java b/ard-system/src/main/java/com/ard/system/common/Md5Utils.java
similarity index 97%
rename from ard-system/src/main/java/com/ard/authorize/common/Md5Utils.java
rename to ard-system/src/main/java/com/ard/system/common/Md5Utils.java
index 35fdfac..ac5be99 100644
--- a/ard-system/src/main/java/com/ard/authorize/common/Md5Utils.java
+++ b/ard-system/src/main/java/com/ard/system/common/Md5Utils.java
@@ -1,4 +1,4 @@
-package com.ard.authorize.common;
+package com.ard.system.common;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/ard-system/src/main/java/com/ard/authorize/domain/AuthorizeInfo.java b/ard-system/src/main/java/com/ard/system/domain/authorize/AuthorizeInfo.java
similarity index 92%
rename from ard-system/src/main/java/com/ard/authorize/domain/AuthorizeInfo.java
rename to ard-system/src/main/java/com/ard/system/domain/authorize/AuthorizeInfo.java
index 5025b50..7a68fba 100644
--- a/ard-system/src/main/java/com/ard/authorize/domain/AuthorizeInfo.java
+++ b/ard-system/src/main/java/com/ard/system/domain/authorize/AuthorizeInfo.java
@@ -1,4 +1,4 @@
-package com.ard.authorize.domain;
+package com.ard.system.domain.authorize;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/ard-system/src/main/java/com/ard/authorize/domain/ParsLicenseInfo.java b/ard-system/src/main/java/com/ard/system/domain/authorize/ParsLicenseInfo.java
similarity index 90%
rename from ard-system/src/main/java/com/ard/authorize/domain/ParsLicenseInfo.java
rename to ard-system/src/main/java/com/ard/system/domain/authorize/ParsLicenseInfo.java
index d61fd9d..47e19f6 100644
--- a/ard-system/src/main/java/com/ard/authorize/domain/ParsLicenseInfo.java
+++ b/ard-system/src/main/java/com/ard/system/domain/authorize/ParsLicenseInfo.java
@@ -1,4 +1,4 @@
-package com.ard.authorize.domain;
+package com.ard.system.domain.authorize;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/ard-system/src/main/java/com/ard/data/domain/ArdMapManagement.java b/ard-system/src/main/java/com/ard/system/domain/data/ArdMapManagement.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/data/domain/ArdMapManagement.java
rename to ard-system/src/main/java/com/ard/system/domain/data/ArdMapManagement.java
index b5b0fc0..721c245 100644
--- a/ard-system/src/main/java/com/ard/data/domain/ArdMapManagement.java
+++ b/ard-system/src/main/java/com/ard/system/domain/data/ArdMapManagement.java
@@ -1,4 +1,4 @@
-package com.ard.data.domain;
+package com.ard.system.data.domain;
 
 import com.ard.common.annotation.Excel;
 import com.ard.common.core.domain.BaseEntity;
diff --git a/ard-system/src/main/java/com/ard/data/domain/ArdModelManagement.java b/ard-system/src/main/java/com/ard/system/domain/data/ArdModelManagement.java
similarity index 92%
rename from ard-system/src/main/java/com/ard/data/domain/ArdModelManagement.java
rename to ard-system/src/main/java/com/ard/system/domain/data/ArdModelManagement.java
index 909883d..766cafc 100644
--- a/ard-system/src/main/java/com/ard/data/domain/ArdModelManagement.java
+++ b/ard-system/src/main/java/com/ard/system/domain/data/ArdModelManagement.java
@@ -1,4 +1,4 @@
-package com.ard.data.domain;
+package com.ard.system.domain.data;
 
 import com.ard.common.annotation.Excel;
 import com.ard.common.core.domain.BaseEntity;
@@ -39,6 +39,6 @@
 
     /** 模型路径 */
     @Excel(name = "模型路径")
-    private Long modelUrl;
+    private String modelUrl;
 
 }
diff --git a/ard-system/src/main/java/com/ard/data/domain/ArdTileManagement.java b/ard-system/src/main/java/com/ard/system/domain/data/ArdTileManagement.java
similarity index 96%
rename from ard-system/src/main/java/com/ard/data/domain/ArdTileManagement.java
rename to ard-system/src/main/java/com/ard/system/domain/data/ArdTileManagement.java
index 321b41d..c742cc9 100644
--- a/ard-system/src/main/java/com/ard/data/domain/ArdTileManagement.java
+++ b/ard-system/src/main/java/com/ard/system/domain/data/ArdTileManagement.java
@@ -1,4 +1,4 @@
-package com.ard.data.domain;
+package com.ard.system.domain.data;
 
 import com.ard.common.annotation.Excel;
 import com.ard.common.core.domain.BaseEntity;
diff --git a/ard-system/src/main/java/com/ard/system/domain/noflyzone/ArdNoFlyZone.java b/ard-system/src/main/java/com/ard/system/domain/noflyzone/ArdNoFlyZone.java
new file mode 100644
index 0000000..a2805e2
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/system/domain/noflyzone/ArdNoFlyZone.java
@@ -0,0 +1,32 @@
+package com.ard.system.domain.noflyzone;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import com.ard.common.annotation.Excel;
+import com.ard.common.core.domain.BaseEntity;
+
+/**
+ * 禁飞区管理对象 ard_no_fly_zone
+ * 
+ * @author ruoyi
+ * @date 2025-10-14
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ArdNoFlyZone extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private String id;
+
+    /** 禁飞区名称 */
+    @Excel(name = "禁飞区名称")
+    private String name;
+
+    /** 数据json */
+    @Excel(name = "数据json")
+    private FeatureCollection geojson;
+}
diff --git a/ard-system/src/main/java/com/ard/system/domain/noflyzone/FeatureCollection.java b/ard-system/src/main/java/com/ard/system/domain/noflyzone/FeatureCollection.java
new file mode 100644
index 0000000..803bf40
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/system/domain/noflyzone/FeatureCollection.java
@@ -0,0 +1,26 @@
+package com.ard.system.domain.noflyzone;
+
+import lombok.Data;
+import java.util.List;
+import java.util.Map;
+
+@Data
+public class FeatureCollection {
+    private String type;
+    private List<Feature> features;
+    private String name;
+
+    @Data
+    public static class Feature {
+        private String type;
+        private Geometry geometry;
+        private Map<String, Object> properties;
+        private String name;
+    }
+
+    @Data
+    public static class Geometry {
+        private String type;
+        private List<List<List<Double>>> coordinates;
+    }
+}
diff --git a/ard-system/src/main/java/com/ard/system/domain/noflyzone/FeatureCollectionTypeHandler.java b/ard-system/src/main/java/com/ard/system/domain/noflyzone/FeatureCollectionTypeHandler.java
new file mode 100644
index 0000000..d8440a7
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/system/domain/noflyzone/FeatureCollectionTypeHandler.java
@@ -0,0 +1,68 @@
+package com.ard.system.domain.noflyzone;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.type.MappedJdbcTypes;
+import org.apache.ibatis.type.MappedTypes;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+@MappedJdbcTypes(JdbcType.VARCHAR)
+@MappedTypes(FeatureCollection.class)
+public class FeatureCollectionTypeHandler extends BaseTypeHandler<FeatureCollection> {
+
+    private static final ObjectMapper objectMapper = new ObjectMapper();
+
+    @Override
+    public void setNonNullParameter(PreparedStatement ps, int i, FeatureCollection parameter, JdbcType jdbcType) throws SQLException {
+        try {
+            ps.setString(i, objectMapper.writeValueAsString(parameter));
+        } catch (JsonProcessingException e) {
+            throw new SQLException("Failed to convert FeatureCollection to JSON", e);
+        }
+    }
+
+    @Override
+    public FeatureCollection getNullableResult(ResultSet rs, String columnName) throws SQLException {
+        String json = rs.getString(columnName);
+        if (json != null) {
+            try {
+                return objectMapper.readValue(json, FeatureCollection.class);
+            } catch (JsonProcessingException e) {
+                throw new SQLException("Failed to parse JSON to FeatureCollection", e);
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public FeatureCollection getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
+        String json = rs.getString(columnIndex);
+        if (json != null) {
+            try {
+                return objectMapper.readValue(json, FeatureCollection.class);
+            } catch (JsonProcessingException e) {
+                throw new SQLException("Failed to parse JSON to FeatureCollection", e);
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public FeatureCollection getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
+        String json = cs.getString(columnIndex);
+        if (json != null) {
+            try {
+                return objectMapper.readValue(json, FeatureCollection.class);
+            } catch (JsonProcessingException e) {
+                throw new SQLException("Failed to parse JSON to FeatureCollection", e);
+            }
+        }
+        return null;
+    }
+}
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysCache.java b/ard-system/src/main/java/com/ard/system/domain/system/SysCache.java
similarity index 97%
rename from ard-system/src/main/java/com/ard/system/domain/SysCache.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysCache.java
index 7a556b8..9893322 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysCache.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysCache.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import com.ard.common.utils.StringUtils;
 
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysConfig.java b/ard-system/src/main/java/com/ard/system/domain/system/SysConfig.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/domain/SysConfig.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysConfig.java
index 3a432a4..2108dfd 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysConfig.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysConfig.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysLogininfor.java b/ard-system/src/main/java/com/ard/system/domain/system/SysLogininfor.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/domain/SysLogininfor.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysLogininfor.java
index f02267c..1fa7b22 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysLogininfor.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysLogininfor.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysNotice.java b/ard-system/src/main/java/com/ard/system/domain/system/SysNotice.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/domain/SysNotice.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysNotice.java
index 27b23ab..4791e52 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysNotice.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysNotice.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysOperLog.java b/ard-system/src/main/java/com/ard/system/domain/system/SysOperLog.java
similarity index 99%
rename from ard-system/src/main/java/com/ard/system/domain/SysOperLog.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysOperLog.java
index 0d4794f..3cf57f3 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysOperLog.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysOperLog.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysPost.java b/ard-system/src/main/java/com/ard/system/domain/system/SysPost.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/domain/SysPost.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysPost.java
index 08dc845..8ee3368 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysPost.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysPost.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysRoleDept.java b/ard-system/src/main/java/com/ard/system/domain/system/SysRoleDept.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/domain/SysRoleDept.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysRoleDept.java
index e73c591..67d9476 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysRoleDept.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysRoleDept.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysRoleMenu.java b/ard-system/src/main/java/com/ard/system/domain/system/SysRoleMenu.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/domain/SysRoleMenu.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysRoleMenu.java
index 1e9ef62..0786883 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysRoleMenu.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysRoleMenu.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysUserOnline.java b/ard-system/src/main/java/com/ard/system/domain/system/SysUserOnline.java
similarity index 97%
rename from ard-system/src/main/java/com/ard/system/domain/SysUserOnline.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysUserOnline.java
index 5ffe7c7..68a9a2a 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysUserOnline.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysUserOnline.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 /**
  * 当前在线会话
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysUserPost.java b/ard-system/src/main/java/com/ard/system/domain/system/SysUserPost.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/domain/SysUserPost.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysUserPost.java
index 74cf441..8b086b0 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysUserPost.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysUserPost.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
diff --git a/ard-system/src/main/java/com/ard/system/domain/SysUserRole.java b/ard-system/src/main/java/com/ard/system/domain/system/SysUserRole.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/domain/SysUserRole.java
rename to ard-system/src/main/java/com/ard/system/domain/system/SysUserRole.java
index 13176f0..2bd82e1 100644
--- a/ard-system/src/main/java/com/ard/system/domain/SysUserRole.java
+++ b/ard-system/src/main/java/com/ard/system/domain/system/SysUserRole.java
@@ -1,4 +1,4 @@
-package com.ard.system.domain;
+package com.ard.system.domain.system;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
diff --git a/ard-system/src/main/java/com/ard/data/mapper/ArdMapManagementMapper.java b/ard-system/src/main/java/com/ard/system/mapper/data/ArdMapManagementMapper.java
similarity index 93%
rename from ard-system/src/main/java/com/ard/data/mapper/ArdMapManagementMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/data/ArdMapManagementMapper.java
index d3e8555..7899675 100644
--- a/ard-system/src/main/java/com/ard/data/mapper/ArdMapManagementMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/data/ArdMapManagementMapper.java
@@ -1,6 +1,6 @@
-package com.ard.data.mapper;
+package com.ard.system.mapper.data;
 
-import com.ard.data.domain.ArdMapManagement;
+import com.ard.system.data.domain.ArdMapManagement;
 
 import java.util.List;
 
diff --git a/ard-system/src/main/java/com/ard/data/mapper/ArdModelManagementMapper.java b/ard-system/src/main/java/com/ard/system/mapper/data/ArdModelManagementMapper.java
similarity index 93%
rename from ard-system/src/main/java/com/ard/data/mapper/ArdModelManagementMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/data/ArdModelManagementMapper.java
index 387cae0..3d0d496 100644
--- a/ard-system/src/main/java/com/ard/data/mapper/ArdModelManagementMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/data/ArdModelManagementMapper.java
@@ -1,6 +1,6 @@
-package com.ard.data.mapper;
+package com.ard.system.mapper.data;
 
-import com.ard.data.domain.ArdModelManagement;
+import com.ard.system.domain.data.ArdModelManagement;
 
 import java.util.List;
 
diff --git a/ard-system/src/main/java/com/ard/data/mapper/ArdTileManagementMapper.java b/ard-system/src/main/java/com/ard/system/mapper/data/ArdTileManagementMapper.java
similarity index 93%
rename from ard-system/src/main/java/com/ard/data/mapper/ArdTileManagementMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/data/ArdTileManagementMapper.java
index 85f912c..99c71a3 100644
--- a/ard-system/src/main/java/com/ard/data/mapper/ArdTileManagementMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/data/ArdTileManagementMapper.java
@@ -1,6 +1,6 @@
-package com.ard.data.mapper;
+package com.ard.system.mapper.data;
 
-import com.ard.data.domain.ArdTileManagement;
+import com.ard.system.domain.data.ArdTileManagement;
 
 import java.util.List;
 
diff --git a/ard-system/src/main/java/com/ard/system/mapper/noflyzone/ArdNoFlyZoneMapper.java b/ard-system/src/main/java/com/ard/system/mapper/noflyzone/ArdNoFlyZoneMapper.java
new file mode 100644
index 0000000..6115e1e
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/system/mapper/noflyzone/ArdNoFlyZoneMapper.java
@@ -0,0 +1,61 @@
+package com.ard.system.mapper.noflyzone;
+
+import java.util.List;
+import com.ard.system.domain.noflyzone.ArdNoFlyZone;
+
+/**
+ * 禁飞区管理Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2025-10-14
+ */
+public interface ArdNoFlyZoneMapper 
+{
+    /**
+     * 查询禁飞区管理
+     * 
+     * @param id 禁飞区管理主键
+     * @return 禁飞区管理
+     */
+    public ArdNoFlyZone selectArdNoFlyZoneById(String id);
+
+    /**
+     * 查询禁飞区管理列表
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 禁飞区管理集合
+     */
+    public List<ArdNoFlyZone> selectArdNoFlyZoneList(ArdNoFlyZone ardNoFlyZone);
+
+    /**
+     * 新增禁飞区管理
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 结果
+     */
+    public int insertArdNoFlyZone(ArdNoFlyZone ardNoFlyZone);
+
+    /**
+     * 修改禁飞区管理
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 结果
+     */
+    public int updateArdNoFlyZone(ArdNoFlyZone ardNoFlyZone);
+
+    /**
+     * 删除禁飞区管理
+     * 
+     * @param id 禁飞区管理主键
+     * @return 结果
+     */
+    public int deleteArdNoFlyZoneById(String id);
+
+    /**
+     * 批量删除禁飞区管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteArdNoFlyZoneByIds(String[] ids);
+}
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysConfigMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysConfigMapper.java
similarity index 94%
rename from ard-system/src/main/java/com/ard/system/mapper/SysConfigMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysConfigMapper.java
index ba13619..dd2827e 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysConfigMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysConfigMapper.java
@@ -1,7 +1,7 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
-import com.ard.system.domain.SysConfig;
+import com.ard.system.domain.system.SysConfig;
 
 /**
  * 参数配置 数据层
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysDeptMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysDeptMapper.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/mapper/SysDeptMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysDeptMapper.java
index 6eaf635..7e19a61 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysDeptMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysDeptMapper.java
@@ -1,4 +1,4 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysDictDataMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysDictDataMapper.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/mapper/SysDictDataMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysDictDataMapper.java
index ab33e70..0ac4c84 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysDictDataMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysDictDataMapper.java
@@ -1,4 +1,4 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysDictTypeMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysDictTypeMapper.java
similarity index 97%
rename from ard-system/src/main/java/com/ard/system/mapper/SysDictTypeMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysDictTypeMapper.java
index ed318b4..c207b40 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysDictTypeMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysDictTypeMapper.java
@@ -1,4 +1,4 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
 import com.ard.common.core.domain.entity.SysDictType;
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysLogininforMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysLogininforMapper.java
similarity index 90%
rename from ard-system/src/main/java/com/ard/system/mapper/SysLogininforMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysLogininforMapper.java
index 91b5105..c982e09 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysLogininforMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysLogininforMapper.java
@@ -1,7 +1,7 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
-import com.ard.system.domain.SysLogininfor;
+import com.ard.system.domain.system.SysLogininfor;
 
 /**
  * 系统访问日志情况信息 数据层
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysMenuMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysMenuMapper.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/mapper/SysMenuMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysMenuMapper.java
index 9964aa6..392da5d 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysMenuMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysMenuMapper.java
@@ -1,4 +1,4 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysNoticeMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysNoticeMapper.java
similarity index 92%
rename from ard-system/src/main/java/com/ard/system/mapper/SysNoticeMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysNoticeMapper.java
index c04a66d..65fee4b 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysNoticeMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysNoticeMapper.java
@@ -1,7 +1,7 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
-import com.ard.system.domain.SysNotice;
+import com.ard.system.domain.system.SysNotice;
 
 /**
  * 通知公告表 数据层
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysOperLogMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysOperLogMapper.java
similarity index 91%
rename from ard-system/src/main/java/com/ard/system/mapper/SysOperLogMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysOperLogMapper.java
index 96a935b..b9b8bb6 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysOperLogMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysOperLogMapper.java
@@ -1,7 +1,7 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
-import com.ard.system.domain.SysOperLog;
+import com.ard.system.domain.system.SysOperLog;
 
 /**
  * 操作日志 数据层
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysPostMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysPostMapper.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/mapper/SysPostMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysPostMapper.java
index 0b4c55c..dc97602 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysPostMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysPostMapper.java
@@ -1,7 +1,7 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
-import com.ard.system.domain.SysPost;
+import com.ard.system.domain.system.SysPost;
 
 /**
  * 岗位信息 数据层
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysRoleDeptMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysRoleDeptMapper.java
similarity index 90%
rename from ard-system/src/main/java/com/ard/system/mapper/SysRoleDeptMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysRoleDeptMapper.java
index c5d2afc..6891bb5 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysRoleDeptMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysRoleDeptMapper.java
@@ -1,7 +1,7 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
-import com.ard.system.domain.SysRoleDept;
+import com.ard.system.domain.system.SysRoleDept;
 
 /**
  * 角色与部门关联表 数据层
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysRoleMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysRoleMapper.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/mapper/SysRoleMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysRoleMapper.java
index ebf8377..e757017 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysRoleMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysRoleMapper.java
@@ -1,4 +1,4 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
 import com.ard.common.core.domain.entity.SysRole;
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysRoleMenuMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysRoleMenuMapper.java
similarity index 90%
rename from ard-system/src/main/java/com/ard/system/mapper/SysRoleMenuMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysRoleMenuMapper.java
index 4e9b440..9375625 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysRoleMenuMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysRoleMenuMapper.java
@@ -1,7 +1,7 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
-import com.ard.system.domain.SysRoleMenu;
+import com.ard.system.domain.system.SysRoleMenu;
 
 /**
  * 角色与菜单关联表 数据层
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysUserMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysUserMapper.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/mapper/SysUserMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysUserMapper.java
index b5826a9..cd5d106 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysUserMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysUserMapper.java
@@ -1,4 +1,4 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysUserPostMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysUserPostMapper.java
similarity index 90%
rename from ard-system/src/main/java/com/ard/system/mapper/SysUserPostMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysUserPostMapper.java
index aa36127..c1b452c 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysUserPostMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysUserPostMapper.java
@@ -1,7 +1,7 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
-import com.ard.system.domain.SysUserPost;
+import com.ard.system.domain.system.SysUserPost;
 
 /**
  * 用户与岗位关联表 数据层
diff --git a/ard-system/src/main/java/com/ard/system/mapper/SysUserRoleMapper.java b/ard-system/src/main/java/com/ard/system/mapper/system/SysUserRoleMapper.java
similarity index 93%
rename from ard-system/src/main/java/com/ard/system/mapper/SysUserRoleMapper.java
rename to ard-system/src/main/java/com/ard/system/mapper/system/SysUserRoleMapper.java
index eccaa51..a45be86 100644
--- a/ard-system/src/main/java/com/ard/system/mapper/SysUserRoleMapper.java
+++ b/ard-system/src/main/java/com/ard/system/mapper/system/SysUserRoleMapper.java
@@ -1,8 +1,8 @@
-package com.ard.system.mapper;
+package com.ard.system.mapper.system;
 
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
-import com.ard.system.domain.SysUserRole;
+import com.ard.system.domain.system.SysUserRole;
 
 /**
  * 用户与角色关联表 数据层
diff --git a/ard-system/src/main/java/com/ard/authorize/service/AuthorizeService.java b/ard-system/src/main/java/com/ard/system/service/authorize/AuthorizeService.java
similarity index 92%
rename from ard-system/src/main/java/com/ard/authorize/service/AuthorizeService.java
rename to ard-system/src/main/java/com/ard/system/service/authorize/AuthorizeService.java
index 0c01655..449c89a 100644
--- a/ard-system/src/main/java/com/ard/authorize/service/AuthorizeService.java
+++ b/ard-system/src/main/java/com/ard/system/service/authorize/AuthorizeService.java
@@ -1,4 +1,4 @@
-package com.ard.authorize.service;
+package com.ard.system.service.authorize;
 
 import com.alibaba.fastjson2.JSONObject;
 import org.springframework.web.multipart.MultipartFile;
diff --git a/ard-system/src/main/java/com/ard/authorize/service/AuthorizeServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/authorize/impl/AuthorizeServiceImpl.java
similarity index 97%
rename from ard-system/src/main/java/com/ard/authorize/service/AuthorizeServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/authorize/impl/AuthorizeServiceImpl.java
index 3f49e23..d2fa2e9 100644
--- a/ard-system/src/main/java/com/ard/authorize/service/AuthorizeServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/authorize/impl/AuthorizeServiceImpl.java
@@ -1,13 +1,14 @@
-package com.ard.authorize.service;
+package com.ard.system.service.authorize.impl;
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
-import com.ard.authorize.common.AuthorizeUtil;
-import com.ard.authorize.common.DateTimeUtil;
-import com.ard.authorize.domain.AuthorizeInfo;
-import com.ard.authorize.domain.ParsLicenseInfo;
+import com.ard.system.common.AuthorizeUtil;
+import com.ard.system.common.DateTimeUtil;
+import com.ard.system.domain.authorize.AuthorizeInfo;
+import com.ard.system.domain.authorize.ParsLicenseInfo;
 import com.ard.common.constant.CacheConstants;
 import com.ard.common.core.redis.RedisCache;
+import com.ard.system.service.authorize.AuthorizeService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.compress.utils.IOUtils;
 import org.springframework.stereotype.Service;
diff --git a/ard-system/src/main/java/com/ard/data/service/IArdMapManagementService.java b/ard-system/src/main/java/com/ard/system/service/data/IArdMapManagementService.java
similarity index 93%
rename from ard-system/src/main/java/com/ard/data/service/IArdMapManagementService.java
rename to ard-system/src/main/java/com/ard/system/service/data/IArdMapManagementService.java
index a141a13..077d5de 100644
--- a/ard-system/src/main/java/com/ard/data/service/IArdMapManagementService.java
+++ b/ard-system/src/main/java/com/ard/system/service/data/IArdMapManagementService.java
@@ -1,6 +1,6 @@
-package com.ard.data.service;
+package com.ard.system.service.data;
 
-import com.ard.data.domain.ArdMapManagement;
+import com.ard.system.data.domain.ArdMapManagement;
 
 import java.util.List;
 
diff --git a/ard-system/src/main/java/com/ard/data/service/IArdModelManagementService.java b/ard-system/src/main/java/com/ard/system/service/data/IArdModelManagementService.java
similarity index 93%
rename from ard-system/src/main/java/com/ard/data/service/IArdModelManagementService.java
rename to ard-system/src/main/java/com/ard/system/service/data/IArdModelManagementService.java
index 718eeb5..a03000d 100644
--- a/ard-system/src/main/java/com/ard/data/service/IArdModelManagementService.java
+++ b/ard-system/src/main/java/com/ard/system/service/data/IArdModelManagementService.java
@@ -1,6 +1,6 @@
-package com.ard.data.service;
+package com.ard.system.service.data;
 
-import com.ard.data.domain.ArdModelManagement;
+import com.ard.system.domain.data.ArdModelManagement;
 
 import java.util.List;
 
diff --git a/ard-system/src/main/java/com/ard/data/service/IArdTileManagementService.java b/ard-system/src/main/java/com/ard/system/service/data/IArdTileManagementService.java
similarity index 93%
rename from ard-system/src/main/java/com/ard/data/service/IArdTileManagementService.java
rename to ard-system/src/main/java/com/ard/system/service/data/IArdTileManagementService.java
index 8323d05..68a5533 100644
--- a/ard-system/src/main/java/com/ard/data/service/IArdTileManagementService.java
+++ b/ard-system/src/main/java/com/ard/system/service/data/IArdTileManagementService.java
@@ -1,6 +1,6 @@
-package com.ard.data.service;
+package com.ard.system.service.data;
 
-import com.ard.data.domain.ArdTileManagement;
+import com.ard.system.domain.data.ArdTileManagement;
 
 import java.util.List;
 
diff --git a/ard-system/src/main/java/com/ard/data/service/impl/ArdMapManagementServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/data/impl/ArdMapManagementServiceImpl.java
similarity index 90%
rename from ard-system/src/main/java/com/ard/data/service/impl/ArdMapManagementServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/data/impl/ArdMapManagementServiceImpl.java
index 881611a..c6425c9 100644
--- a/ard-system/src/main/java/com/ard/data/service/impl/ArdMapManagementServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/data/impl/ArdMapManagementServiceImpl.java
@@ -1,14 +1,14 @@
-package com.ard.data.service.impl;
-
-import java.util.List;
+package com.ard.system.service.data.impl;
 
 import com.ard.common.utils.uuid.IdUtils;
-import com.ard.data.domain.ArdMapManagement;
-import com.ard.data.mapper.ArdMapManagementMapper;
-import com.ard.data.service.IArdMapManagementService;
+import com.ard.system.data.domain.ArdMapManagement;
+import com.ard.system.mapper.data.ArdMapManagementMapper;
+import com.ard.system.service.data.IArdMapManagementService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * 地图管理Service业务层处理
  * 
diff --git a/ard-system/src/main/java/com/ard/data/service/impl/ArdModelManagementServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/data/impl/ArdModelManagementServiceImpl.java
similarity index 90%
rename from ard-system/src/main/java/com/ard/data/service/impl/ArdModelManagementServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/data/impl/ArdModelManagementServiceImpl.java
index 5f67652..61608dd 100644
--- a/ard-system/src/main/java/com/ard/data/service/impl/ArdModelManagementServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/data/impl/ArdModelManagementServiceImpl.java
@@ -1,11 +1,11 @@
-package com.ard.data.service.impl;
+package com.ard.system.service.data.impl;
 
 import java.util.List;
 
 import com.ard.common.utils.uuid.IdUtils;
-import com.ard.data.domain.ArdModelManagement;
-import com.ard.data.mapper.ArdModelManagementMapper;
-import com.ard.data.service.IArdModelManagementService;
+import com.ard.system.domain.data.ArdModelManagement;
+import com.ard.system.mapper.data.ArdModelManagementMapper;
+import com.ard.system.service.data.IArdModelManagementService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/ard-system/src/main/java/com/ard/data/service/impl/ArdTileManagementServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/data/impl/ArdTileManagementServiceImpl.java
similarity index 90%
rename from ard-system/src/main/java/com/ard/data/service/impl/ArdTileManagementServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/data/impl/ArdTileManagementServiceImpl.java
index 26abf05..cbe83c9 100644
--- a/ard-system/src/main/java/com/ard/data/service/impl/ArdTileManagementServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/data/impl/ArdTileManagementServiceImpl.java
@@ -1,11 +1,11 @@
-package com.ard.data.service.impl;
+package com.ard.system.service.data.impl;
 
 import java.util.List;
 
 import com.ard.common.utils.uuid.IdUtils;
-import com.ard.data.domain.ArdTileManagement;
-import com.ard.data.mapper.ArdTileManagementMapper;
-import com.ard.data.service.IArdTileManagementService;
+import com.ard.system.domain.data.ArdTileManagement;
+import com.ard.system.mapper.data.ArdTileManagementMapper;
+import com.ard.system.service.data.IArdTileManagementService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/ard-system/src/main/java/com/ard/system/service/noflyzone/IArdNoFlyZoneService.java b/ard-system/src/main/java/com/ard/system/service/noflyzone/IArdNoFlyZoneService.java
new file mode 100644
index 0000000..d11fed5
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/system/service/noflyzone/IArdNoFlyZoneService.java
@@ -0,0 +1,61 @@
+package com.ard.system.service.noflyzone;
+
+import java.util.List;
+import com.ard.system.domain.noflyzone.ArdNoFlyZone;
+
+/**
+ * 禁飞区管理Service接口
+ * 
+ * @author ruoyi
+ * @date 2025-10-14
+ */
+public interface IArdNoFlyZoneService 
+{
+    /**
+     * 查询禁飞区管理
+     * 
+     * @param id 禁飞区管理主键
+     * @return 禁飞区管理
+     */
+    public ArdNoFlyZone selectArdNoFlyZoneById(String id);
+
+    /**
+     * 查询禁飞区管理列表
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 禁飞区管理集合
+     */
+    public List<ArdNoFlyZone> selectArdNoFlyZoneList(ArdNoFlyZone ardNoFlyZone);
+
+    /**
+     * 新增禁飞区管理
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 结果
+     */
+    public int insertArdNoFlyZone(ArdNoFlyZone ardNoFlyZone);
+
+    /**
+     * 修改禁飞区管理
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 结果
+     */
+    public int updateArdNoFlyZone(ArdNoFlyZone ardNoFlyZone);
+
+    /**
+     * 批量删除禁飞区管理
+     * 
+     * @param ids 需要删除的禁飞区管理主键集合
+     * @return 结果
+     */
+    public int deleteArdNoFlyZoneByIds(String[] ids);
+
+    /**
+     * 删除禁飞区管理信息
+     * 
+     * @param id 禁飞区管理主键
+     * @return 结果
+     */
+    public int deleteArdNoFlyZoneById(String id);
+}
diff --git a/ard-system/src/main/java/com/ard/system/service/noflyzone/impl/ArdNoFlyZoneServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/noflyzone/impl/ArdNoFlyZoneServiceImpl.java
new file mode 100644
index 0000000..f401263
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/system/service/noflyzone/impl/ArdNoFlyZoneServiceImpl.java
@@ -0,0 +1,103 @@
+package com.ard.system.service.noflyzone.impl;
+
+import java.util.List;
+import com.ard.common.utils.DateUtils;
+import com.ard.common.utils.SecurityUtils;
+import com.ard.common.utils.uuid.IdUtils;
+import com.ard.system.service.noflyzone.IArdNoFlyZoneService;
+import org.springframework.stereotype.Service;
+import com.ard.system.mapper.noflyzone.ArdNoFlyZoneMapper;
+import com.ard.system.domain.noflyzone.ArdNoFlyZone;
+
+import javax.annotation.Resource;
+
+
+/**
+ * 禁飞区管理Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2025-10-14
+ */
+@Service
+public class ArdNoFlyZoneServiceImpl implements IArdNoFlyZoneService
+{
+    @Resource
+    private ArdNoFlyZoneMapper ardNoFlyZoneMapper;
+
+    /**
+     * 查询禁飞区管理
+     * 
+     * @param id 禁飞区管理主键
+     * @return 禁飞区管理
+     */
+    @Override
+    public ArdNoFlyZone selectArdNoFlyZoneById(String id)
+    {
+        return ardNoFlyZoneMapper.selectArdNoFlyZoneById(id);
+    }
+
+    /**
+     * 查询禁飞区管理列表
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 禁飞区管理
+     */
+    @Override
+    public List<ArdNoFlyZone> selectArdNoFlyZoneList(ArdNoFlyZone ardNoFlyZone)
+    {
+        return ardNoFlyZoneMapper.selectArdNoFlyZoneList(ardNoFlyZone);
+    }
+
+    /**
+     * 新增禁飞区管理
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 结果
+     */
+    @Override
+    public int insertArdNoFlyZone(ArdNoFlyZone ardNoFlyZone)
+    {
+        ardNoFlyZone.setId(IdUtils.simpleUUID());
+        ardNoFlyZone.setCreateTime(DateUtils.getNowDate());
+        ardNoFlyZone.setCreateBy(SecurityUtils.getUsername());
+        return ardNoFlyZoneMapper.insertArdNoFlyZone(ardNoFlyZone);
+    }
+
+    /**
+     * 修改禁飞区管理
+     * 
+     * @param ardNoFlyZone 禁飞区管理
+     * @return 结果
+     */
+    @Override
+    public int updateArdNoFlyZone(ArdNoFlyZone ardNoFlyZone)
+    {
+        ardNoFlyZone.setUpdateBy(SecurityUtils.getUsername());
+        ardNoFlyZone.setUpdateTime(DateUtils.getNowDate());
+        return ardNoFlyZoneMapper.updateArdNoFlyZone(ardNoFlyZone);
+    }
+
+    /**
+     * 批量删除禁飞区管理
+     * 
+     * @param ids 需要删除的禁飞区管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteArdNoFlyZoneByIds(String[] ids)
+    {
+        return ardNoFlyZoneMapper.deleteArdNoFlyZoneByIds(ids);
+    }
+
+    /**
+     * 删除禁飞区管理信息
+     * 
+     * @param id 禁飞区管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteArdNoFlyZoneById(String id)
+    {
+        return ardNoFlyZoneMapper.deleteArdNoFlyZoneById(id);
+    }
+}
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysConfigService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysConfigService.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/service/ISysConfigService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysConfigService.java
index 67a8d80..13d3281 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysConfigService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysConfigService.java
@@ -1,7 +1,7 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
-import com.ard.system.domain.SysConfig;
+import com.ard.system.domain.system.SysConfig;
 
 /**
  * 参数配置 服务层
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysDeptService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysDeptService.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/service/ISysDeptService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysDeptService.java
index abbac63..d7bfc76 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysDeptService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysDeptService.java
@@ -1,4 +1,4 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
 import com.ard.common.core.domain.TreeSelect;
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysDictDataService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysDictDataService.java
similarity index 96%
rename from ard-system/src/main/java/com/ard/system/service/ISysDictDataService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysDictDataService.java
index 00e8c3b..2e707da 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysDictDataService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysDictDataService.java
@@ -1,4 +1,4 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
 import com.ard.common.core.domain.entity.SysDictData;
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysDictTypeService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysDictTypeService.java
similarity index 97%
rename from ard-system/src/main/java/com/ard/system/service/ISysDictTypeService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysDictTypeService.java
index 3304348..93ab48e 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysDictTypeService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysDictTypeService.java
@@ -1,4 +1,4 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
 import com.ard.common.core.domain.entity.SysDictData;
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysLogininforService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysLogininforService.java
similarity index 89%
rename from ard-system/src/main/java/com/ard/system/service/ISysLogininforService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysLogininforService.java
index 29cd89d..18b99d8 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysLogininforService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysLogininforService.java
@@ -1,7 +1,7 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
-import com.ard.system.domain.SysLogininfor;
+import com.ard.system.domain.system.SysLogininfor;
 
 /**
  * 系统访问日志情况信息 服务层
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysMenuService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysMenuService.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/service/ISysMenuService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysMenuService.java
index db3e33b..2a3353e 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysMenuService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysMenuService.java
@@ -1,4 +1,4 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
 import java.util.Set;
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysNoticeService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysNoticeService.java
similarity index 92%
rename from ard-system/src/main/java/com/ard/system/service/ISysNoticeService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysNoticeService.java
index 3eaa5e6..1893c19 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysNoticeService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysNoticeService.java
@@ -1,7 +1,7 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
-import com.ard.system.domain.SysNotice;
+import com.ard.system.domain.system.SysNotice;
 
 /**
  * 公告 服务层
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysOperLogService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysOperLogService.java
similarity index 91%
rename from ard-system/src/main/java/com/ard/system/service/ISysOperLogService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysOperLogService.java
index 6137656..2ec2fb9 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysOperLogService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysOperLogService.java
@@ -1,7 +1,7 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
-import com.ard.system.domain.SysOperLog;
+import com.ard.system.domain.system.SysOperLog;
 
 /**
  * 操作日志 服务层
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysPostService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysPostService.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/service/ISysPostService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysPostService.java
index 3177095..bac16c1 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysPostService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysPostService.java
@@ -1,7 +1,7 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
-import com.ard.system.domain.SysPost;
+import com.ard.system.domain.system.SysPost;
 
 /**
  * 岗位信息 服务层
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysRoleService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysRoleService.java
similarity index 97%
rename from ard-system/src/main/java/com/ard/system/service/ISysRoleService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysRoleService.java
index 770a16e..944cab6 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysRoleService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysRoleService.java
@@ -1,9 +1,9 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
 import java.util.Set;
 import com.ard.common.core.domain.entity.SysRole;
-import com.ard.system.domain.SysUserRole;
+import com.ard.system.domain.system.SysUserRole;
 
 /**
  * 角色业务层
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysUserOnlineService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysUserOnlineService.java
similarity index 92%
rename from ard-system/src/main/java/com/ard/system/service/ISysUserOnlineService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysUserOnlineService.java
index caa0ec9..1fe515d 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysUserOnlineService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysUserOnlineService.java
@@ -1,7 +1,7 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import com.ard.common.core.domain.model.LoginUser;
-import com.ard.system.domain.SysUserOnline;
+import com.ard.system.domain.system.SysUserOnline;
 
 /**
  * 在线用户 服务层
diff --git a/ard-system/src/main/java/com/ard/system/service/ISysUserService.java b/ard-system/src/main/java/com/ard/system/service/system/ISysUserService.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/service/ISysUserService.java
rename to ard-system/src/main/java/com/ard/system/service/system/ISysUserService.java
index c4cb956..f3adaa3 100644
--- a/ard-system/src/main/java/com/ard/system/service/ISysUserService.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/ISysUserService.java
@@ -1,4 +1,4 @@
-package com.ard.system.service;
+package com.ard.system.service.system;
 
 import java.util.List;
 import com.ard.common.core.domain.entity.SysUser;
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysConfigServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysConfigServiceImpl.java
similarity index 96%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysConfigServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysConfigServiceImpl.java
index e8fb445..8c8e7a6 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysConfigServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysConfigServiceImpl.java
@@ -1,8 +1,10 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.Collection;
 import java.util.List;
 import javax.annotation.PostConstruct;
+
+import com.ard.system.service.system.ISysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ard.common.annotation.DataSource;
@@ -13,9 +15,8 @@
 import com.ard.common.enums.DataSourceType;
 import com.ard.common.exception.ServiceException;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.domain.SysConfig;
-import com.ard.system.mapper.SysConfigMapper;
-import com.ard.system.service.ISysConfigService;
+import com.ard.system.domain.system.SysConfig;
+import com.ard.system.mapper.system.SysConfigMapper;
 
 /**
  * 参数配置 服务层实现
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysDeptServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysDeptServiceImpl.java
similarity index 97%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysDeptServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysDeptServiceImpl.java
index 6d21710..47b55ef 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysDeptServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysDeptServiceImpl.java
@@ -1,9 +1,11 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
+
+import com.ard.system.service.system.ISysDeptService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ard.common.annotation.DataScope;
@@ -17,9 +19,8 @@
 import com.ard.common.utils.SecurityUtils;
 import com.ard.common.utils.StringUtils;
 import com.ard.common.utils.spring.SpringUtils;
-import com.ard.system.mapper.SysDeptMapper;
-import com.ard.system.mapper.SysRoleMapper;
-import com.ard.system.service.ISysDeptService;
+import com.ard.system.mapper.system.SysDeptMapper;
+import com.ard.system.mapper.system.SysRoleMapper;
 
 /**
  * 部门管理 服务实现
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysDictDataServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysDictDataServiceImpl.java
similarity index 94%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysDictDataServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysDictDataServiceImpl.java
index aa16ce9..8451a57 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysDictDataServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysDictDataServiceImpl.java
@@ -1,12 +1,13 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.List;
+
+import com.ard.system.service.system.ISysDictDataService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ard.common.core.domain.entity.SysDictData;
 import com.ard.common.utils.DictUtils;
-import com.ard.system.mapper.SysDictDataMapper;
-import com.ard.system.service.ISysDictDataService;
+import com.ard.system.mapper.system.SysDictDataMapper;
 
 /**
  * 字典 业务层处理
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysDictTypeServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysDictTypeServiceImpl.java
similarity index 96%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysDictTypeServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysDictTypeServiceImpl.java
index b810ebd..f4ea582 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysDictTypeServiceImpl.java
@@ -1,10 +1,12 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 import javax.annotation.PostConstruct;
+
+import com.ard.system.service.system.ISysDictTypeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -14,9 +16,8 @@
 import com.ard.common.exception.ServiceException;
 import com.ard.common.utils.DictUtils;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.mapper.SysDictDataMapper;
-import com.ard.system.mapper.SysDictTypeMapper;
-import com.ard.system.service.ISysDictTypeService;
+import com.ard.system.mapper.system.SysDictDataMapper;
+import com.ard.system.mapper.system.SysDictTypeMapper;
 
 /**
  * 字典 业务层处理
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysLogininforServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysLogininforServiceImpl.java
similarity index 86%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysLogininforServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysLogininforServiceImpl.java
index cf03d1a..8b11771 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysLogininforServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysLogininforServiceImpl.java
@@ -1,11 +1,12 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.List;
+
+import com.ard.system.service.system.ISysLogininforService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.ard.system.domain.SysLogininfor;
-import com.ard.system.mapper.SysLogininforMapper;
-import com.ard.system.service.ISysLogininforService;
+import com.ard.system.domain.system.SysLogininfor;
+import com.ard.system.mapper.system.SysLogininforMapper;
 
 /**
  * 系统访问日志情况信息 服务层处理
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysMenuServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysMenuServiceImpl.java
similarity index 98%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysMenuServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysMenuServiceImpl.java
index 3695dd5..d76e861 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysMenuServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysMenuServiceImpl.java
@@ -1,4 +1,4 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -8,6 +8,8 @@
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
+
+import com.ard.system.service.system.ISysMenuService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ard.common.constant.Constants;
@@ -20,10 +22,9 @@
 import com.ard.common.utils.StringUtils;
 import com.ard.system.domain.vo.MetaVo;
 import com.ard.system.domain.vo.RouterVo;
-import com.ard.system.mapper.SysMenuMapper;
-import com.ard.system.mapper.SysRoleMapper;
-import com.ard.system.mapper.SysRoleMenuMapper;
-import com.ard.system.service.ISysMenuService;
+import com.ard.system.mapper.system.SysMenuMapper;
+import com.ard.system.mapper.system.SysRoleMapper;
+import com.ard.system.mapper.system.SysRoleMenuMapper;
 
 /**
  * 菜单 业务层处理
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysNoticeServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysNoticeServiceImpl.java
similarity index 89%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysNoticeServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysNoticeServiceImpl.java
index 9e7ea2d..97f5620 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysNoticeServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysNoticeServiceImpl.java
@@ -1,11 +1,12 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.List;
+
+import com.ard.system.service.system.ISysNoticeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.ard.system.domain.SysNotice;
-import com.ard.system.mapper.SysNoticeMapper;
-import com.ard.system.service.ISysNoticeService;
+import com.ard.system.domain.system.SysNotice;
+import com.ard.system.mapper.system.SysNoticeMapper;
 
 /**
  * 公告 服务层实现
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysOperLogServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysOperLogServiceImpl.java
similarity index 87%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysOperLogServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysOperLogServiceImpl.java
index d31020a..9589070 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysOperLogServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysOperLogServiceImpl.java
@@ -1,11 +1,12 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.List;
+
+import com.ard.system.service.system.ISysOperLogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.ard.system.domain.SysOperLog;
-import com.ard.system.mapper.SysOperLogMapper;
-import com.ard.system.service.ISysOperLogService;
+import com.ard.system.domain.system.SysOperLog;
+import com.ard.system.mapper.system.SysOperLogMapper;
 
 /**
  * 操作日志 服务层处理
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysPostServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysPostServiceImpl.java
similarity index 93%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysPostServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysPostServiceImpl.java
index 972b9ad..ce82715 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysPostServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysPostServiceImpl.java
@@ -1,15 +1,16 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.List;
+
+import com.ard.system.service.system.ISysPostService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ard.common.constant.UserConstants;
 import com.ard.common.exception.ServiceException;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.domain.SysPost;
-import com.ard.system.mapper.SysPostMapper;
-import com.ard.system.mapper.SysUserPostMapper;
-import com.ard.system.service.ISysPostService;
+import com.ard.system.domain.system.SysPost;
+import com.ard.system.mapper.system.SysPostMapper;
+import com.ard.system.mapper.system.SysUserPostMapper;
 
 /**
  * 岗位信息 服务层处理
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysRoleServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysRoleServiceImpl.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysRoleServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysRoleServiceImpl.java
index 9ffff75..50a9e49 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysRoleServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysRoleServiceImpl.java
@@ -1,10 +1,12 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+
+import com.ard.system.service.system.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -16,14 +18,13 @@
 import com.ard.common.utils.SecurityUtils;
 import com.ard.common.utils.StringUtils;
 import com.ard.common.utils.spring.SpringUtils;
-import com.ard.system.domain.SysRoleDept;
-import com.ard.system.domain.SysRoleMenu;
-import com.ard.system.domain.SysUserRole;
-import com.ard.system.mapper.SysRoleDeptMapper;
-import com.ard.system.mapper.SysRoleMapper;
-import com.ard.system.mapper.SysRoleMenuMapper;
-import com.ard.system.mapper.SysUserRoleMapper;
-import com.ard.system.service.ISysRoleService;
+import com.ard.system.domain.system.SysRoleDept;
+import com.ard.system.domain.system.SysRoleMenu;
+import com.ard.system.domain.system.SysUserRole;
+import com.ard.system.mapper.system.SysRoleDeptMapper;
+import com.ard.system.mapper.system.SysRoleMapper;
+import com.ard.system.mapper.system.SysRoleMenuMapper;
+import com.ard.system.mapper.system.SysUserRoleMapper;
 
 /**
  * 角色 业务层处理
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysUserOnlineServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysUserOnlineServiceImpl.java
similarity index 94%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysUserOnlineServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysUserOnlineServiceImpl.java
index 4b021ab..8801250 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysUserOnlineServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysUserOnlineServiceImpl.java
@@ -1,10 +1,10 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
+import com.ard.system.service.system.ISysUserOnlineService;
 import org.springframework.stereotype.Service;
 import com.ard.common.core.domain.model.LoginUser;
 import com.ard.common.utils.StringUtils;
-import com.ard.system.domain.SysUserOnline;
-import com.ard.system.service.ISysUserOnlineService;
+import com.ard.system.domain.system.SysUserOnline;
 
 /**
  * 在线用户 服务层处理
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysUserServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/system/impl/SysUserServiceImpl.java
similarity index 95%
rename from ard-system/src/main/java/com/ard/system/service/impl/SysUserServiceImpl.java
rename to ard-system/src/main/java/com/ard/system/service/system/impl/SysUserServiceImpl.java
index cd83507..151afb8 100644
--- a/ard-system/src/main/java/com/ard/system/service/impl/SysUserServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/system/service/system/impl/SysUserServiceImpl.java
@@ -1,9 +1,13 @@
-package com.ard.system.service.impl;
+package com.ard.system.service.system.impl;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 import javax.validation.Validator;
+
+import com.ard.system.service.system.ISysConfigService;
+import com.ard.system.service.system.ISysDeptService;
+import com.ard.system.service.system.ISysUserService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,17 +23,14 @@
 import com.ard.common.utils.StringUtils;
 import com.ard.common.utils.bean.BeanValidators;
 import com.ard.common.utils.spring.SpringUtils;
-import com.ard.system.domain.SysPost;
-import com.ard.system.domain.SysUserPost;
-import com.ard.system.domain.SysUserRole;
-import com.ard.system.mapper.SysPostMapper;
-import com.ard.system.mapper.SysRoleMapper;
-import com.ard.system.mapper.SysUserMapper;
-import com.ard.system.mapper.SysUserPostMapper;
-import com.ard.system.mapper.SysUserRoleMapper;
-import com.ard.system.service.ISysConfigService;
-import com.ard.system.service.ISysDeptService;
-import com.ard.system.service.ISysUserService;
+import com.ard.system.domain.system.SysPost;
+import com.ard.system.domain.system.SysUserPost;
+import com.ard.system.domain.system.SysUserRole;
+import com.ard.system.mapper.system.SysPostMapper;
+import com.ard.system.mapper.system.SysRoleMapper;
+import com.ard.system.mapper.system.SysUserMapper;
+import com.ard.system.mapper.system.SysUserPostMapper;
+import com.ard.system.mapper.system.SysUserRoleMapper;
 
 /**
  * 用户 业务层处理
diff --git a/ard-system/src/main/resources/mapper/system/ArdMapManagementMapper.xml b/ard-system/src/main/resources/mapper/data/ArdMapManagementMapper.xml
similarity index 97%
rename from ard-system/src/main/resources/mapper/system/ArdMapManagementMapper.xml
rename to ard-system/src/main/resources/mapper/data/ArdMapManagementMapper.xml
index ca4da9f..3650021 100644
--- a/ard-system/src/main/resources/mapper/system/ArdMapManagementMapper.xml
+++ b/ard-system/src/main/resources/mapper/data/ArdMapManagementMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.data.mapper.ArdMapManagementMapper">
+<mapper namespace="com.ard.system.mapper.data.ArdMapManagementMapper">
     
     <resultMap type="ArdMapManagement" id="ArdMapManagementResult">
         <result property="id"    column="id"    />
diff --git a/ard-system/src/main/resources/mapper/system/ArdModelManagementMapper.xml b/ard-system/src/main/resources/mapper/data/ArdModelManagementMapper.xml
similarity index 97%
rename from ard-system/src/main/resources/mapper/system/ArdModelManagementMapper.xml
rename to ard-system/src/main/resources/mapper/data/ArdModelManagementMapper.xml
index f6e113f..c0ea39b 100644
--- a/ard-system/src/main/resources/mapper/system/ArdModelManagementMapper.xml
+++ b/ard-system/src/main/resources/mapper/data/ArdModelManagementMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.data.mapper.ArdModelManagementMapper">
+<mapper namespace="com.ard.system.mapper.data.ArdModelManagementMapper">
     
     <resultMap type="ArdModelManagement" id="ArdModelManagementResult">
         <result property="id"    column="id"    />
diff --git a/ard-system/src/main/resources/mapper/system/ArdTileManagementMapper.xml b/ard-system/src/main/resources/mapper/data/ArdTileManagementMapper.xml
similarity index 98%
rename from ard-system/src/main/resources/mapper/system/ArdTileManagementMapper.xml
rename to ard-system/src/main/resources/mapper/data/ArdTileManagementMapper.xml
index e95b888..3aecd68 100644
--- a/ard-system/src/main/resources/mapper/system/ArdTileManagementMapper.xml
+++ b/ard-system/src/main/resources/mapper/data/ArdTileManagementMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.data.mapper.ArdTileManagementMapper">
+<mapper namespace="com.ard.system.mapper.data.ArdTileManagementMapper">
     
     <resultMap type="ArdTileManagement" id="ArdTileManagementResult">
         <result property="id"    column="id"    />
diff --git a/ard-system/src/main/resources/mapper/noflyzone/ArdNoFlyZoneMapper.xml b/ard-system/src/main/resources/mapper/noflyzone/ArdNoFlyZoneMapper.xml
new file mode 100644
index 0000000..dca6c6c
--- /dev/null
+++ b/ard-system/src/main/resources/mapper/noflyzone/ArdNoFlyZoneMapper.xml
@@ -0,0 +1,86 @@
+<?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.system.mapper.noflyzone.ArdNoFlyZoneMapper">
+    
+    <resultMap type="ArdNoFlyZone" id="ArdNoFlyZoneResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="geojson" column="geojson" typeHandler="com.ard.system.domain.noflyzone.FeatureCollectionTypeHandler"/>
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectArdNoFlyZoneVo">
+        select id,
+               name,
+               geojson,
+               create_by,
+               create_time,
+               update_by,
+               update_time
+        from ard_no_fly_zone
+    </sql>
+
+    <select id="selectArdNoFlyZoneList" parameterType="ArdNoFlyZone" resultMap="ArdNoFlyZoneResult">
+        <include refid="selectArdNoFlyZoneVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="geojson != null  and geojson != ''"> and geojson = #{geojson}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdNoFlyZoneById" parameterType="String" resultMap="ArdNoFlyZoneResult">
+        <include refid="selectArdNoFlyZoneVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertArdNoFlyZone" parameterType="ArdNoFlyZone">
+        insert into ard_no_fly_zone
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="name != null">name,</if>
+            <if test="geojson != null">geojson,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="name != null">#{name},</if>
+            <if test="geojson != null">#{geojson, typeHandler=com.ard.data.noflyzone.domain.FeatureCollectionTypeHandler},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdNoFlyZone" parameterType="ArdNoFlyZone">
+        update ard_no_fly_zone
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="geojson != null">geojson = #{geojson},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteArdNoFlyZoneById" parameterType="String">
+        delete from ard_no_fly_zone where id = #{id}
+    </delete>
+
+    <delete id="deleteArdNoFlyZoneByIds" parameterType="String">
+        delete from ard_no_fly_zone where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/ard-system/src/main/resources/mapper/system/SysConfigMapper.xml b/ard-system/src/main/resources/mapper/system/SysConfigMapper.xml
index c24ffb5..b4f3144 100644
--- a/ard-system/src/main/resources/mapper/system/SysConfigMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysConfigMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysConfigMapper">
+<mapper namespace="com.ard.system.mapper.system.SysConfigMapper">
     
     <resultMap type="SysConfig" id="SysConfigResult">
     	<id     property="configId"      column="config_id"      />
diff --git a/ard-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ard-system/src/main/resources/mapper/system/SysDeptMapper.xml
index c5ee411..fd3836f 100644
--- a/ard-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysDeptMapper">
+<mapper namespace="com.ard.system.mapper.system.SysDeptMapper">
 
 	<resultMap type="SysDept" id="SysDeptResult">
 		<id     property="deptId"     column="dept_id"     />
diff --git a/ard-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/ard-system/src/main/resources/mapper/system/SysDictDataMapper.xml
index aaba830..7081f29 100644
--- a/ard-system/src/main/resources/mapper/system/SysDictDataMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysDictDataMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysDictDataMapper">
+<mapper namespace="com.ard.system.mapper.system.SysDictDataMapper">
 	
 	<resultMap type="SysDictData" id="SysDictDataResult">
 		<id     property="dictCode"   column="dict_code"   />
diff --git a/ard-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/ard-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
index a1a3863..6787ea1 100644
--- a/ard-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysDictTypeMapper">
+<mapper namespace="com.ard.system.mapper.system.SysDictTypeMapper">
 
 	<resultMap type="SysDictType" id="SysDictTypeResult">
 		<id     property="dictId"     column="dict_id"     />
diff --git a/ard-system/src/main/resources/mapper/system/SysLogininforMapper.xml b/ard-system/src/main/resources/mapper/system/SysLogininforMapper.xml
index 7bee661..1607722 100644
--- a/ard-system/src/main/resources/mapper/system/SysLogininforMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysLogininforMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysLogininforMapper">
+<mapper namespace="com.ard.system.mapper.system.SysLogininforMapper">
 
 	<resultMap type="SysLogininfor" id="SysLogininforResult">
 		<id     property="infoId"        column="info_id"           />
diff --git a/ard-system/src/main/resources/mapper/system/SysMenuMapper.xml b/ard-system/src/main/resources/mapper/system/SysMenuMapper.xml
index a268181..73af4d7 100644
--- a/ard-system/src/main/resources/mapper/system/SysMenuMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysMenuMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 		PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysMenuMapper">
+<mapper namespace="com.ard.system.mapper.system.SysMenuMapper">
 
 	<resultMap type="SysMenu" id="SysMenuResult">
 		<id     property="menuId"         column="menu_id"        />
diff --git a/ard-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/ard-system/src/main/resources/mapper/system/SysNoticeMapper.xml
index cfbcd8b..db60b22 100644
--- a/ard-system/src/main/resources/mapper/system/SysNoticeMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysNoticeMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysNoticeMapper">
+<mapper namespace="com.ard.system.mapper.system.SysNoticeMapper">
     
     <resultMap type="SysNotice" id="SysNoticeResult">
         <result property="noticeId"       column="notice_id"       />
diff --git a/ard-system/src/main/resources/mapper/system/SysOperLogMapper.xml b/ard-system/src/main/resources/mapper/system/SysOperLogMapper.xml
index 75a0c81..f5c00c3 100644
--- a/ard-system/src/main/resources/mapper/system/SysOperLogMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysOperLogMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysOperLogMapper">
+<mapper namespace="com.ard.system.mapper.system.SysOperLogMapper">
 
 	<resultMap type="SysOperLog" id="SysOperLogResult">
 		<id     property="operId"         column="oper_id"        />
diff --git a/ard-system/src/main/resources/mapper/system/SysPostMapper.xml b/ard-system/src/main/resources/mapper/system/SysPostMapper.xml
index 9f32397..957c099 100644
--- a/ard-system/src/main/resources/mapper/system/SysPostMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysPostMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysPostMapper">
+<mapper namespace="com.ard.system.mapper.system.SysPostMapper">
 
 	<resultMap type="SysPost" id="SysPostResult">
 		<id     property="postId"        column="post_id"       />
diff --git a/ard-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml b/ard-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml
index feae472..3f8df05 100644
--- a/ard-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysRoleDeptMapper">
+<mapper namespace="com.ard.system.mapper.system.SysRoleDeptMapper">
 
 	<resultMap type="SysRoleDept" id="SysRoleDeptResult">
 		<result property="roleId"     column="role_id"      />
diff --git a/ard-system/src/main/resources/mapper/system/SysRoleMapper.xml b/ard-system/src/main/resources/mapper/system/SysRoleMapper.xml
index 2d97532..0fb44f9 100644
--- a/ard-system/src/main/resources/mapper/system/SysRoleMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysRoleMapper">
+<mapper namespace="com.ard.system.mapper.system.SysRoleMapper">
 
 	<resultMap type="SysRole" id="SysRoleResult">
 		<id     property="roleId"             column="role_id"               />
diff --git a/ard-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml b/ard-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
index b0b8eab..ec5c618 100644
--- a/ard-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysRoleMenuMapper">
+<mapper namespace="com.ard.system.mapper.system.SysRoleMenuMapper">
 
 	<resultMap type="SysRoleMenu" id="SysRoleMenuResult">
 		<result property="roleId"     column="role_id"      />
diff --git a/ard-system/src/main/resources/mapper/system/SysUserMapper.xml b/ard-system/src/main/resources/mapper/system/SysUserMapper.xml
index dfad20f..89cb757 100644
--- a/ard-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysUserMapper">
+<mapper namespace="com.ard.system.mapper.system.SysUserMapper">
 
     <resultMap type="SysUser" id="SysUserResult">
         <id     property="userId"       column="user_id"      />
diff --git a/ard-system/src/main/resources/mapper/system/SysUserPostMapper.xml b/ard-system/src/main/resources/mapper/system/SysUserPostMapper.xml
index a3f2216..41a5f7c 100644
--- a/ard-system/src/main/resources/mapper/system/SysUserPostMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysUserPostMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysUserPostMapper">
+<mapper namespace="com.ard.system.mapper.system.SysUserPostMapper">
 
 	<resultMap type="SysUserPost" id="SysUserPostResult">
 		<result property="userId"     column="user_id"      />
diff --git a/ard-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/ard-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
index 1f1f356..51b257b 100644
--- a/ard-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
+++ b/ard-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.system.mapper.SysUserRoleMapper">
+<mapper namespace="com.ard.system.mapper.system.SysUserRoleMapper">
 
 	<resultMap type="SysUserRole" id="SysUserRoleResult">
 		<result property="userId"     column="user_id"      />
diff --git a/ard-work/pom.xml b/ard-work/pom.xml
index 2556421..46c325c 100644
--- a/ard-work/pom.xml
+++ b/ard-work/pom.xml
@@ -29,7 +29,7 @@
         <dependency>
             <groupId>com.dtflys.forest</groupId>
             <artifactId>forest-spring-boot-starter</artifactId>
-            <version>1.5.33</version>
+            <version>1.8.0</version>
         </dependency>
 
         <!-- netty依赖 springboot2.x自动导入版本 -->
diff --git a/ard-work/src/main/java/com/ard/work/component/forest/MyAddressSource.java b/ard-work/src/main/java/com/ard/work/component/forest/MyAddressSource.java
new file mode 100644
index 0000000..1b1e497
--- /dev/null
+++ b/ard-work/src/main/java/com/ard/work/component/forest/MyAddressSource.java
@@ -0,0 +1,24 @@
+package com.ard.work.component.forest;
+
+import com.ard.work.domain.entity.ArdServerInfo;
+import com.ard.work.service.IArdServerInfoService;
+import com.dtflys.forest.callback.AddressSource;
+import com.dtflys.forest.http.ForestAddress;
+import com.dtflys.forest.http.ForestRequest;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+@Component
+public class MyAddressSource implements AddressSource {
+
+    @Resource
+    private IArdServerInfoService ardServerService;
+    @Override
+    public ForestAddress getAddress(ForestRequest request) {
+        String serverKey = request.varAsString("serverId");
+        ArdServerInfo serverInfo = ardServerService.selectArdServerManagementById(serverKey);
+        // 返回 Forest 地址对象
+        return new ForestAddress(serverInfo.getHost(), serverInfo.getHttpPort());
+    }
+}
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java b/ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java
index e0d89c4..207fbce 100644
--- a/ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java
+++ b/ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java
@@ -1,7 +1,7 @@
 package com.ard.work.component.forest;
 
 import com.ard.work.domain.receiver.AccessTokenReceiver;
-import com.ard.work.service.IArdServerService;
+import com.ard.work.service.IArdServerInfoService;
 import com.dtflys.forest.http.ForestRequest;
 import com.dtflys.forest.interceptor.Interceptor;
 import lombok.extern.slf4j.Slf4j;
@@ -12,7 +12,7 @@
 @Slf4j
 public class TokenInterceptor<T> implements Interceptor<T> {
     @Resource
-    private IArdServerService ardServerService;
+    private IArdServerInfoService ardServerService;
 
     /**
      * 该方法在请求发送之前被调用, 若返回false则不会继续发送请求
@@ -22,8 +22,8 @@
     @Override
     public boolean beforeExecute(ForestRequest req) {
         log.debug("invoke Simple beforeExecute");
-        String baseUrl = (String) req.getVariableValue("baseUrl");
-        AccessTokenReceiver accessToken = ardServerService.getAccessTokenByBaseUrl(baseUrl);
+        String serverId = (String) req.getVariableValue("serverId");
+        AccessTokenReceiver accessToken = ardServerService.getAccessToken(serverId);
         req.addHeader("x-cid", accessToken.getCompanyId());
         req.addHeader("x-token", accessToken.getAccessToken());
         return true;  // 继续执行请求返回true
diff --git a/ard-work/src/main/java/com/ard/work/component/forest/TyClient.java b/ard-work/src/main/java/com/ard/work/component/forest/TyClient.java
index cc39ed4..a5f3c23 100644
--- a/ard-work/src/main/java/com/ard/work/component/forest/TyClient.java
+++ b/ard-work/src/main/java/com/ard/work/component/forest/TyClient.java
@@ -15,43 +15,44 @@
  * @author liusuyi
  * @date 2024年10月21日14:45
  **/
+@Address(source = MyAddressSource.class)
 public interface TyClient {
     /**
      * 获取云盒TOKEN
      */
-    @Post("{baseUrl}" + TyConst.POST_TOKEN)
-    TyHttpCommonReceiver<AccessTokenReceiver> getToken(@Var("baseUrl") String baseUrl, @JSONBody TokenDTO tokenDTO);
+    @Post(TyConst.POST_TOKEN)
+    TyHttpCommonReceiver<AccessTokenReceiver> getToken(@Var("serverId") String serverId, @JSONBody TokenDTO tokenDTO);
 
     /**
      * 获取云盒列表
      */
-    @Get(value = "{baseUrl}" + TyConst.GET_BOX_LIST, interceptor = TokenInterceptor.class)
-    TyHttpCommonReceiver<List<BoxInfoReceiver>> getBoxList(@Var("baseUrl") String baseUrl);
+    @Get(value = TyConst.GET_BOX_LIST, interceptor = TokenInterceptor.class)
+    TyHttpCommonReceiver<List<BoxInfoReceiver>> getBoxList(@Var("serverId") String serverId);
 
     /**
      * 获取直播地址
      */
-    @Get(value = "{baseUrl}" + TyConst.GET_BOX_LIVE_URL, interceptor = TokenInterceptor.class)
-    TyHttpCommonReceiver<BoxStreamUrlReceiver> getBoxLiveUrl(@Var("baseUrl") String baseUrl,
+    @Get(value = TyConst.GET_BOX_LIVE_URL, interceptor = TokenInterceptor.class)
+    TyHttpCommonReceiver<BoxStreamUrlReceiver> getBoxLiveUrl(@Var("serverId") String serverId,
                                                              @Var("boxSn") String boxSn);
 
     /**
      * 获取飞行历史
      */
-    @Post(value = "{baseUrl}" + TyConst.POST_BOX_HISTORY, interceptor = TokenInterceptor.class)
-    TyHttpCommonReceiver<List<BoxHistoryReceiver>> getBoxHistory(@Var("baseUrl") String baseUrl,
+    @Post(value = TyConst.POST_BOX_HISTORY, interceptor = TokenInterceptor.class)
+    TyHttpCommonReceiver<List<BoxHistoryReceiver>> getBoxHistory(@Var("serverId") String serverId,
                                                                  @JSONBody BoxHistoryDTO boxHistoryDTO);
 
     /**
      * 获取任务照片
      */
-    @Post(value = "{baseUrl}" + TyConst.POST_BOX_PHOTOS, interceptor = TokenInterceptor.class)
-    TyHttpCommonReceiver<List<BoxPhotosReceiver>> getBoxPhotos(@Var("baseUrl") String baseUrl,
+    @Post(value = TyConst.POST_BOX_PHOTOS, interceptor = TokenInterceptor.class)
+    TyHttpCommonReceiver<List<BoxPhotosReceiver>> getBoxPhotos(@Var("serverId") String serverId,
                                                                @JSONBody BoxPhotosDTO boxPhotosDTO);
 
     /**
      * 修改云盒设置
      */
-    @Post(value = "{baseUrl}" + TyConst.POST_BOX_UPDATE, interceptor = TokenInterceptor.class)
-    TyHttpCommonReceiver<?> updateBoxSettings(@Var("baseUrl") String baseUrl, @JSONBody BoxSettingsDTO boxSettingsDTO);
+    @Post(value = TyConst.POST_BOX_UPDATE, interceptor = TokenInterceptor.class)
+    TyHttpCommonReceiver<?> updateBoxSettings(@Var("serverId") String serverId, @JSONBody BoxSettingsDTO boxSettingsDTO);
 }
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java b/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
index fccf3db..3a1ec4b 100644
--- a/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
+++ b/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
@@ -1,12 +1,13 @@
 package com.ard.work.component.netty;
 
 import com.ard.work.component.netty.command.BaseCmd;
+import com.ard.work.component.netty.command.register.HeartbeatCmd;
 import com.ard.work.component.netty.handler.ClientHandler;
 import com.ard.work.component.netty.handler.MessageProtocolDecoder;
 import com.ard.work.component.netty.handler.MessageProtocolEncoder;
 import com.ard.work.domain.cache.TyTcpServerCache;
 import com.ard.work.domain.entity.ArdServerInfo;
-import com.ard.work.service.IArdServerService;
+import com.ard.work.service.IArdServerInfoService;
 import io.netty.bootstrap.Bootstrap;
 import io.netty.channel.*;
 import io.netty.channel.nio.NioEventLoopGroup;
@@ -15,6 +16,7 @@
 import io.netty.handler.timeout.IdleStateHandler;
 import io.netty.util.AttributeKey;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
@@ -34,7 +36,7 @@
     private final EventLoopGroup eventLoopGroup = new NioEventLoopGroup();
 
     @Resource
-    private IArdServerService ardServerService; // ← 从数据库读取边缘服务器配置
+    private IArdServerInfoService ardServerService; // ← 从数据库读取边缘服务器配置
 
     @Resource
     private ClientHandler clientHandler;
@@ -61,39 +63,28 @@
         return bootstrap;
     }
 
-    /**
-     * 初始化与六合服务器的连接
-     */
-    public void initConnection(String serverId, String host, Integer port) {
-        String key = host + ":" + port;
-        log.info("初始化连接边缘服务器 [{}] ({})", serverId, key);
+    /** 新增或重连服务器 */
+    public void connectServer(ArdServerInfo serverInfo) {
+        String serverId = serverInfo.getId();
+        String host = serverInfo.getHost();
+        Integer port = serverInfo.getTcpPort();
 
-        // 如果存在旧连接则关闭
-        if (channels.containsKey(serverId)) {
-            TcpClientSession oldSession = channels.get(serverId);
-            if (oldSession != null && oldSession.getChannelFuture() != null) {
-                oldSession.getChannelFuture().channel().close();
-            }
-        }
+        // 如果已有旧连接,先断开
+        disconnectServer(serverId);
 
-        // 异步连接 TCP 服务端
         Bootstrap bootstrap = getBootstrap();
-        ChannelFuture future = bootstrap.connect(host, port).addListener((ChannelFuture futureListener) -> {
-            if (futureListener.isSuccess()) {
-                log.info("✅ 边缘服务器 [{}] 连接成功 ({})", serverId, key);
-                Channel channel = futureListener.channel();
-                // 绑定 serverId 到 channel
+        ChannelFuture future = bootstrap.connect(host, port).addListener((ChannelFuture f) -> {
+            if (f.isSuccess()) {
+                log.info("✅ 服务器 [{}] 连接成功", serverId);
+                Channel channel = f.channel();
                 channel.attr(AttributeKey.valueOf("serverId")).set(serverId);
-                TyTcpServerCache.putTcpServerCache(key, true);
+                TyTcpServerCache.putTcpServerCache(serverId, true);
             } else {
-                log.warn("❌ 边缘服务器 [{}] 连接失败 ({}),10 秒后重试", serverId, key);
-                TyTcpServerCache.putTcpServerCache(key, false);
-                final EventLoop eventLoop = futureListener.channel().eventLoop();
-                eventLoop.schedule(() -> initConnection(serverId, host, port), 10, TimeUnit.SECONDS);
+                log.warn("❌ 服务器 [{}] 连接失败", serverId);
+                TyTcpServerCache.putTcpServerCache(serverId, false);
             }
         });
 
-        // 存入连接缓存
         TcpClientSession session = TcpClientSession.builder()
                 .ClientId("TY_" + serverId)
                 .channelFuture(future)
@@ -104,6 +95,16 @@
                 .build();
 
         channels.put(serverId, session);
+    }
+
+    /** 断开服务器连接 */
+    public void disconnectServer(String serverId) {
+        TcpClientSession session = channels.remove(serverId);
+        if (session != null && session.getChannelFuture() != null) {
+            session.getChannelFuture().channel().close();
+            log.info("断开服务器 [{}] 连接", serverId);
+        }
+        TyTcpServerCache.removeTcpServerCache(serverId);
     }
 
     /**
@@ -137,7 +138,7 @@
      * 启动时从数据库加载所有边缘服务器并建立 TCP 连接
      */
     @PostConstruct
-    public void createAllTyConnections() {
+    public void initConnectServers() {
         try {
             var serverList = ardServerService.selectArdServerManagementList(new ArdServerInfo()); // ← 从数据库查询所有服务器配置
             if (serverList == null || serverList.isEmpty()) {
@@ -146,7 +147,7 @@
             }
 
             for (ArdServerInfo serverInfo : serverList) {
-                initConnection(serverInfo.getId(), serverInfo.getHost(), serverInfo.getTcpPort());
+                connectServer(serverInfo);
             }
 
             log.info("共初始化 {} 个边缘服务器连接", serverList.size());
@@ -154,4 +155,38 @@
             log.error("创建边缘服务器连接异常:{}", e.getMessage(), e);
         }
     }
+
+    @Scheduled(fixedDelay = 10000) // 每 10 秒检查一次
+    public void reconnectFailedServers() {
+        TyTcpServerCache.getTcpServerCacheMap().forEach((key, state) -> {
+            if (Boolean.FALSE.equals(state)) { // 连接失败的服务器
+                ArdServerInfo serverInfo = ardServerService.selectArdServerManagementById(key);
+                if (serverInfo != null) {
+                    connectServer(serverInfo);
+                }
+            }
+        });
+    }
+
+    /**
+     * 定时向所有已连接的六合服务器发送心跳
+     */
+    @Scheduled(fixedRate = 5000) // 每5秒执行一次
+    public void sendHeartBeat() {
+        long timestamp = System.currentTimeMillis();
+        channels.values().stream()
+                .filter(session -> {
+                    ChannelFuture future = session.getChannelFuture();
+                    // 只保留活跃连接
+                    return future != null && future.channel().isActive();
+                })
+                .forEach(session -> {
+                    HeartbeatCmd heartbeat = new HeartbeatCmd(timestamp);
+                    ChannelFuture future = session.getChannelFuture();
+                    future.channel().writeAndFlush(heartbeat);
+                    log.info("→ 向边缘服务器 [{}] ({}:{}) 发送心跳,时间戳={}",
+                            session.getServerId(), session.getHost(), session.getPort(), timestamp);
+                });
+    }
+
 }
diff --git a/ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java b/ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java
index c3eab84..86f6795 100644
--- a/ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java
+++ b/ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java
@@ -93,16 +93,7 @@
         String host = remoteAddress.getHostString();
         int port = remoteAddress.getPort();
         log.error("与六合服务{}:{}连接断开!", host, port);
-        TyTcpServerCache.putTcpServerCache(host + ":" + port, false);
-        ctx.channel().eventLoop().schedule(() -> {
-            log.error("六合服务端链接不上,开始重连操作...");
-            try {
-                tyTcpClientManager.initConnection(serverId,host, port);
-            } catch (Exception e) {
-                log.error("六合服务端连接异常: {}", e.getMessage());
-            }
-        }, 5, TimeUnit.SECONDS);
-
+        TyTcpServerCache.putTcpServerCache(serverId, false);
         super.channelInactive(ctx);
     }
 
diff --git a/ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java b/ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java
index f8c2d81..58553f5 100644
--- a/ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java
+++ b/ard-work/src/main/java/com/ard/work/component/websocket/handler/TyMessageHandler.java
@@ -44,8 +44,8 @@
             BaseMessage<?> baseMessage = JSON.parseObject(payload, BaseMessage.class);
             MessageType messageType = MessageType.fromString(baseMessage.getType());
             switch (messageType) {
-                case STREAM:
-
+                case STREAM: // 直播地址
+                    
                     break;
                 case STATE:
                     handleStateMessage(payload, userId);
diff --git a/ard-work/src/main/java/com/ard/work/component/websocket/interceptor/TyHandshakeInterceptor.java b/ard-work/src/main/java/com/ard/work/component/websocket/interceptor/TyHandshakeInterceptor.java
index ea42faa..c857f44 100644
--- a/ard-work/src/main/java/com/ard/work/component/websocket/interceptor/TyHandshakeInterceptor.java
+++ b/ard-work/src/main/java/com/ard/work/component/websocket/interceptor/TyHandshakeInterceptor.java
@@ -19,12 +19,6 @@
             String userId = segments[segments.length - 1];
             attributes.put("userId", userId);
         }
-        //从header中获取userId
-//        String userId = request.getHeaders().getFirst("userId");
-//        if (userId != null)
-//        {
-//            attributes.put("userId", userId);
-//        }
         return true;
     }
 
diff --git a/ard-work/src/main/java/com/ard/work/domain/cache/TyTcpServerCache.java b/ard-work/src/main/java/com/ard/work/domain/cache/TyTcpServerCache.java
index ec7d9d6..e03a482 100644
--- a/ard-work/src/main/java/com/ard/work/domain/cache/TyTcpServerCache.java
+++ b/ard-work/src/main/java/com/ard/work/domain/cache/TyTcpServerCache.java
@@ -1,5 +1,9 @@
 package com.ard.work.domain.cache;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
@@ -13,17 +17,22 @@
     private static final ConcurrentHashMap<String, Boolean> tcpServerCache = new ConcurrentHashMap<>();
 
     // 存储TCP服务连接状态到缓存
-    public static void putTcpServerCache(String tcpServer,Boolean state) {
-        tcpServerCache.put(tcpServer, state);
+    public static void putTcpServerCache(String serverId,Boolean state) {
+        tcpServerCache.put(serverId, state);
     }
 
     // 从缓存中获取TCP服务连接状态
-    public static Boolean getTcpServerCache(String tcpServer) {
-        return tcpServerCache.getOrDefault(tcpServer,false);
+    public static Boolean getTcpServerCache(String serverId) {
+        return tcpServerCache.getOrDefault(serverId,false);
     }
 
     // 删除缓存中的TCP服务连接状态
-    public static void removeTcpServerCache(String tcpServer) {
-        tcpServerCache.remove(tcpServer);
+    public static void removeTcpServerCache(String serverId) {
+        tcpServerCache.remove(serverId);
     }
+
+    public static Map<String, Boolean> getTcpServerCacheMap() {
+        return new HashMap<>(tcpServerCache); // 返回一个副本,避免外部修改原始缓存
+    }
+
 }
diff --git a/ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java b/ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java
index e8cda24..f9bbe8a 100644
--- a/ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java
+++ b/ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java
@@ -17,7 +17,7 @@
      * @param id 服务器管理主键
      * @return 服务器管理
      */
-    public ArdServerInfo selectArdServerManagementById(String id);
+    public ArdServerInfo selectArdServerInfoById(String id);
 
     /**
      * 查询服务器管理列表
@@ -25,7 +25,7 @@
      * @param ardServerInfo 服务器管理
      * @return 服务器管理集合
      */
-    public List<ArdServerInfo> selectArdServerManagementList(ArdServerInfo ardServerInfo);
+    public List<ArdServerInfo> selectArdServerInfoList(ArdServerInfo ardServerInfo);
 
     /**
      * 新增服务器管理
@@ -33,7 +33,7 @@
      * @param ardServerInfo 服务器管理
      * @return 结果
      */
-    public int insertArdServerManagement(ArdServerInfo ardServerInfo);
+    public int insertArdServerInfo(ArdServerInfo ardServerInfo);
 
     /**
      * 修改服务器管理
@@ -41,7 +41,7 @@
      * @param ardServerInfo 服务器管理
      * @return 结果
      */
-    public int updateArdServerManagement(ArdServerInfo ardServerInfo);
+    public int updateArdServerInfo(ArdServerInfo ardServerInfo);
 
     /**
      * 删除服务器管理
@@ -49,7 +49,7 @@
      * @param id 服务器管理主键
      * @return 结果
      */
-    public int deleteArdServerManagementById(String id);
+    public int deleteArdServerInfoById(String id);
 
     /**
      * 批量删除服务器管理
@@ -57,5 +57,5 @@
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */
-    public int deleteArdServerManagementByIds(String[] ids);
+    public int deleteArdServerInfoByIds(String[] ids);
 }
diff --git a/ard-work/src/main/java/com/ard/work/service/IArdDroneService.java b/ard-work/src/main/java/com/ard/work/service/IArdDroneInfoService.java
similarity index 97%
rename from ard-work/src/main/java/com/ard/work/service/IArdDroneService.java
rename to ard-work/src/main/java/com/ard/work/service/IArdDroneInfoService.java
index f3ab842..7f8ac39 100644
--- a/ard-work/src/main/java/com/ard/work/service/IArdDroneService.java
+++ b/ard-work/src/main/java/com/ard/work/service/IArdDroneInfoService.java
@@ -12,7 +12,7 @@
  * @author ruoyi
  * @date 2025-03-04
  */
-public interface IArdDroneService {
+public interface IArdDroneInfoService {
 
     /**
      * 查询无人机盒子
diff --git a/ard-work/src/main/java/com/ard/work/service/IArdServerService.java b/ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java
similarity index 65%
rename from ard-work/src/main/java/com/ard/work/service/IArdServerService.java
rename to ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java
index bfd0108..5a0e48b 100644
--- a/ard-work/src/main/java/com/ard/work/service/IArdServerService.java
+++ b/ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java
@@ -10,7 +10,7 @@
  * @author xia
  * @date 2025-10-10
  */
-public interface IArdServerService {
+public interface IArdServerInfoService {
 
     /**
      * 查询服务器管理
@@ -18,7 +18,7 @@
      * @param id 服务器管理主键
      * @return 服务器管理
      */
-    public ArdServerInfo selectArdServerManagementById(String id);
+    public ArdServerInfo selectArdServerInfoById(String id);
 
     /**
      * 查询服务器管理列表
@@ -26,7 +26,7 @@
      * @param ardServerInfo 服务器管理
      * @return 服务器管理集合
      */
-    public List<ArdServerInfo> selectArdServerManagementList(ArdServerInfo ardServerInfo);
+    public List<ArdServerInfo> selectArdServerInfoList(ArdServerInfo ardServerInfo);
 
     /**
      * 新增服务器管理
@@ -34,7 +34,7 @@
      * @param ardServerInfo 服务器管理
      * @return 结果
      */
-    public int insertArdServerManagement(ArdServerInfo ardServerInfo);
+    public int insertArdServerInfo(ArdServerInfo ardServerInfo);
 
     /**
      * 修改服务器管理
@@ -42,7 +42,7 @@
      * @param ardServerInfo 服务器管理
      * @return 结果
      */
-    public int updateArdServerManagement(ArdServerInfo ardServerInfo);
+    public int updateArdServerInfo(ArdServerInfo ardServerInfo);
 
     /**
      * 批量删除服务器管理
@@ -50,7 +50,7 @@
      * @param ids 需要删除的服务器管理主键集合
      * @return 结果
      */
-    public int deleteArdServerManagementByIds(String[] ids);
+    public int deleteArdServerInfoByIds(String[] ids);
 
     /**
      * 删除服务器管理信息
@@ -58,14 +58,11 @@
      * @param id 服务器管理主键
      * @return 结果
      */
-    public int deleteArdServerManagementById(String id);
+    public int deleteArdServerInfoById(String id);
 
     /**
      * 根据 id 获取 token
      */
     public AccessTokenReceiver getAccessToken(String id);
-    /**
-     * 根据 baseUrl 获取 token(给拦截器使用)
-     */
-    public AccessTokenReceiver getAccessTokenByBaseUrl(String baseUrl);
+
 }
diff --git a/ard-work/src/main/java/com/ard/work/service/impl/ArdDroneServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java
similarity index 97%
rename from ard-work/src/main/java/com/ard/work/service/impl/ArdDroneServiceImpl.java
rename to ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java
index 9b81f7b..0abed9a 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/ArdDroneServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java
@@ -5,8 +5,8 @@
 import com.ard.work.domain.entity.ArdDroneInfo;
 import com.ard.work.domain.receiver.BoxInfoReceiver;
 import com.ard.work.mapper.ArdDroneInfoMapper;
+import com.ard.work.service.IArdDroneInfoService;
 import com.ard.work.service.ITyService;
-import com.ard.work.service.IArdDroneService;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
@@ -23,7 +23,7 @@
  * @date 2025-03-04
  */
 @Service
-public class ArdDroneServiceImpl implements IArdDroneService {
+public class ArdDroneInfoServiceImpl implements IArdDroneInfoService {
 
     @Resource
     private ArdDroneInfoMapper ArdDroneInfoMapper;
diff --git a/ard-work/src/main/java/com/ard/work/service/impl/ArdServerServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java
similarity index 61%
rename from ard-work/src/main/java/com/ard/work/service/impl/ArdServerServiceImpl.java
rename to ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java
index beb5cf0..7bda66c 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/ArdServerServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java
@@ -2,14 +2,14 @@
 
 import com.ard.common.utils.uuid.IdUtils;
 import com.ard.work.component.forest.TyClient;
+import com.ard.work.component.netty.TyTcpClientManager;
 import com.ard.work.domain.dto.TokenDTO;
 import com.ard.work.domain.entity.ArdServerInfo;
 import com.ard.work.domain.receiver.AccessTokenReceiver;
 import com.ard.work.domain.receiver.TyHttpCommonReceiver;
 import com.ard.work.mapper.ArdServerInfoMapper;
-import com.ard.work.service.IArdServerService;
+import com.ard.work.service.IArdServerInfoService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.DigestUtils;
 
@@ -25,12 +25,14 @@
  */
 @Slf4j
 @Service
-public class ArdServerServiceImpl implements IArdServerService {
+public class ArdServerInfoServiceImpl implements IArdServerInfoService {
 
     @Resource
     private ArdServerInfoMapper ardServerInfoMapper;
     @Resource
     private TyClient tyClient;
+    @Resource
+    private TyTcpClientManager tyTcpClientManager;
 
     /**
      * 查询服务器管理
@@ -39,8 +41,8 @@
      * @return 服务器管理
      */
     @Override
-    public ArdServerInfo selectArdServerManagementById(String id) {
-        return ardServerInfoMapper.selectArdServerManagementById(id);
+    public ArdServerInfo selectArdServerInfoById(String id) {
+        return ardServerInfoMapper.selectArdServerInfoById(id);
     }
 
     /**
@@ -50,8 +52,8 @@
      * @return 服务器管理
      */
     @Override
-    public List<ArdServerInfo> selectArdServerManagementList(ArdServerInfo ardServerInfo) {
-        return ardServerInfoMapper.selectArdServerManagementList(ardServerInfo);
+    public List<ArdServerInfo> selectArdServerInfoList(ArdServerInfo ardServerInfo) {
+        return ardServerInfoMapper.selectArdServerInfoList(ardServerInfo);
     }
 
     /**
@@ -61,9 +63,13 @@
      * @return 结果
      */
     @Override
-    public int insertArdServerManagement(ArdServerInfo ardServerInfo) {
+    public int insertArdServerInfo(ArdServerInfo ardServerInfo) {
         ardServerInfo.setId(IdUtils.fastUUID());
-        return ardServerInfoMapper.insertArdServerManagement(ardServerInfo);
+        int i = ardServerInfoMapper.insertArdServerInfo(ardServerInfo);
+        if (i > 0) {
+            tyTcpClientManager.connectServer(ardServerInfo);
+        }
+        return i;
     }
 
     /**
@@ -73,8 +79,12 @@
      * @return 结果
      */
     @Override
-    public int updateArdServerManagement(ArdServerInfo ardServerInfo) {
-        return ardServerInfoMapper.updateArdServerManagement(ardServerInfo);
+    public int updateArdServerInfo(ArdServerInfo ardServerInfo) {
+        int i = ardServerInfoMapper.updateArdServerInfo(ardServerInfo);
+        if (i > 0) {
+            tyTcpClientManager.connectServer(ardServerInfo);
+        }
+        return i;
     }
 
     /**
@@ -84,8 +94,15 @@
      * @return 结果
      */
     @Override
-    public int deleteArdServerManagementByIds(String[] ids) {
-        return ardServerInfoMapper.deleteArdServerManagementByIds(ids);
+    public int deleteArdServerInfoByIds(String[] ids) {
+        int i = ardServerInfoMapper.deleteArdServerInfoByIds(ids);
+        if (i > 0) {
+            for (String id : ids) {
+                //移除tcp连接
+                tyTcpClientManager.disconnectServer(id);
+            }
+        }
+        return i;
     }
 
     /**
@@ -95,8 +112,8 @@
      * @return 结果
      */
     @Override
-    public int deleteArdServerManagementById(String id) {
-        return ardServerInfoMapper.deleteArdServerManagementById(id);
+    public int deleteArdServerInfoById(String id) {
+        return ardServerInfoMapper.deleteArdServerInfoById(id);
     }
 
     /**
@@ -106,7 +123,7 @@
     public AccessTokenReceiver getAccessToken(String id) {
         long timeStamp = getTimeStamp();
         AccessTokenReceiver accessToken = null;
-        ArdServerInfo serverInfo = selectArdServerManagementById(id);
+        ArdServerInfo serverInfo = selectArdServerInfoById(id);
         // 准备请求的json
         TokenDTO gtd = TokenDTO.builder()
                 .accessKeyId(serverInfo.getAccessKeyId())
@@ -114,8 +131,7 @@
                 .timeStamp(timeStamp)
                 .build();
         try {
-            String baseUrl = "http://" + serverInfo.getHost() + ":" + serverInfo.getHttpPort();
-            TyHttpCommonReceiver<AccessTokenReceiver> getTokenRes = tyClient.getToken(baseUrl, gtd);
+            TyHttpCommonReceiver<AccessTokenReceiver> getTokenRes = tyClient.getToken(id, gtd);
             accessToken = getTokenRes.getContent();
         } catch (Exception e) {
             log.error("获取token失败:{}", e.getMessage());
@@ -133,19 +149,4 @@
         return new Date().getTime();
     }
 
-    /**
-     * 根据 baseUrl 获取 服务器http接口token(给拦截器使用)
-     */
-    @Override
-    public AccessTokenReceiver getAccessTokenByBaseUrl(String baseUrl) {
-        // 找到对应的 serverId
-        List<ArdServerInfo> servers = selectArdServerManagementList(new ArdServerInfo());
-        for (ArdServerInfo server : servers) {
-            String _baseUrl = "http://" + server.getHost() + ":" + server.getHttpPort();
-            if (_baseUrl.equals(baseUrl)) {
-                return getAccessToken(server.getId());
-            }
-        }
-        return null;
-    }
 }
diff --git a/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
index e54d009..6858383 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -3,8 +3,6 @@
 import com.ard.common.utils.ByteUtils;
 import com.ard.work.aspect.annotation.CheckTakeoffAltitude;
 import com.ard.work.aspect.annotation.CheckControlRight;
-import com.ard.work.component.netty.TcpClientSession;
-import com.ard.work.component.netty.TyTcpClientManager;
 import com.ard.work.component.netty.command.BaseCmd;
 import com.ard.work.component.netty.command.camera.*;
 import com.ard.work.component.netty.command.manual.*;
@@ -47,14 +45,13 @@
 import com.ard.work.component.netty.command.real.UavTelemetryDataCmd;
 import com.ard.work.component.netty.handler.ErrorCodeEnum;
 import com.ard.work.component.netty.protobuf.TelemetryDataPB;
-import com.ard.work.service.IArdDroneService;
-import com.ard.work.service.IArdServerService;
+import com.ard.work.service.IArdDroneInfoService;
+import com.ard.work.service.IArdServerInfoService;
 import com.ard.work.service.ITyService;
 import com.ard.work.domain.message.UavControlType;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -78,9 +75,9 @@
 @Service
 public class TyServiceImpl implements ITyService {
     @Resource
-    private IArdServerService ardServerService;
+    private IArdServerInfoService ardServerService;
     @Resource
-    private IArdDroneService ardDroneService;
+    private IArdDroneInfoService ardDroneService;
     @Resource
     private TyClient tyClient;
 
@@ -113,8 +110,7 @@
     @Override
     public BoxStreamUrlReceiver getBoxLiveUrl(String boxSn) {
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxSn);
-        String baseUrl="http://"+ardDroneInfo.getArdServerInfo().getHost()+":"+ardDroneInfo.getArdServerInfo().getHttpPort();
-        TyHttpCommonReceiver<BoxStreamUrlReceiver> boxLiveUrl = tyClient.getBoxLiveUrl(baseUrl,boxSn);
+        TyHttpCommonReceiver<BoxStreamUrlReceiver> boxLiveUrl = tyClient.getBoxLiveUrl(ardDroneInfo.getServerInfoId(),boxSn);
         return boxLiveUrl.getContent();
     }
 
@@ -126,8 +122,8 @@
     @Override
     public List<BoxHistoryReceiver> getBoxHistory(BoxHistoryDTO boxHistoryDTO) {
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxHistoryDTO.getBoxSn());
-        String baseUrl="http://"+ardDroneInfo.getArdServerInfo().getHost()+":"+ardDroneInfo.getArdServerInfo().getHttpPort();
-        TyHttpCommonReceiver<List<BoxHistoryReceiver>> boxHistory = tyClient.getBoxHistory(baseUrl,boxHistoryDTO);
+        TyHttpCommonReceiver<List<BoxHistoryReceiver>> boxHistory = tyClient.getBoxHistory(ardDroneInfo.getServerInfoId(),
+                boxHistoryDTO);
         return boxHistory.getContent();
     }
 
@@ -139,8 +135,7 @@
     @Override
     public List<BoxPhotosReceiver> getBoxPhotos(BoxPhotosDTO boxPhotosDTO) {
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxPhotosDTO.getBoxSn());
-        String baseUrl="http://"+ardDroneInfo.getArdServerInfo().getHost()+":"+ardDroneInfo.getArdServerInfo().getHttpPort();
-        TyHttpCommonReceiver<List<BoxPhotosReceiver>> boxPhotos = tyClient.getBoxPhotos(baseUrl,boxPhotosDTO);
+        TyHttpCommonReceiver<List<BoxPhotosReceiver>> boxPhotos = tyClient.getBoxPhotos(ardDroneInfo.getServerInfoId(),boxPhotosDTO);
         return boxPhotos.getContent();
     }
 
@@ -150,8 +145,7 @@
     @Override
     public Boolean updateBoxSettings(BoxSettingsDTO boxSettingsDTO) {
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxSettingsDTO.getBoxSn());
-        String baseUrl="http://"+ardDroneInfo.getArdServerInfo().getHost()+":"+ardDroneInfo.getArdServerInfo().getHttpPort();
-        TyHttpCommonReceiver<?> result = tyClient.updateBoxSettings(baseUrl,boxSettingsDTO);
+        TyHttpCommonReceiver<?> result = tyClient.updateBoxSettings(ardDroneInfo.getServerInfoId(),boxSettingsDTO);
         return result.getState() == 1;
     }
 
@@ -845,14 +839,12 @@
      */
     @Override
     public List<BoxInfoReceiver> getBoxSnToList(String id) {
-        ArdServerInfo ardServerInfos = ardServerService.selectArdServerManagementById(id);
-        String baseUrl = "http://" + ardServerInfos.getHost() + ":" + ardServerInfos.getHttpPort();
         List<BoxInfoReceiver> lisbox = new ArrayList<>();
         try {
-            lisbox = tyClient.getBoxList(baseUrl).getContent();
+            lisbox = tyClient.getBoxList(id).getContent();
             return lisbox;
         } catch (Exception e) {
-            log.error("获取云盒列表失败: {}", baseUrl, e);
+            log.error("获取云盒列表失败: {}", id, e);
             return lisbox;
         }
     }
@@ -860,12 +852,12 @@
     private List<BoxInfoReceiver> getBoxList(List<ArdServerInfo> ls) {
         return ls.stream()
                 .flatMap(ardServerInfo -> {
-                    String baseUrl = "http://" + ardServerInfo.getHost() + ":" + ardServerInfo.getHttpPort();
+
                     try {
-                        List<BoxInfoReceiver> boxes = tyClient.getBoxList(baseUrl).getContent();
+                        List<BoxInfoReceiver> boxes = tyClient.getBoxList(ardServerInfo.getId()).getContent();
                         return Optional.ofNullable(boxes).orElse(Collections.emptyList()).stream();
                     } catch (Exception e) {
-                        log.error("获取云盒列表失败: {}", baseUrl, e);
+                        log.error("获取云盒列表失败: {}", ardServerInfo.getId(), e);
                         return Stream.empty();
                     }
                 })
@@ -887,27 +879,6 @@
     }
 
 
-    /**
-     * 定时向所有已连接的六合服务器发送心跳
-     */
-    @Scheduled(fixedRate = 5000) // 每5秒执行一次
-    public void sendHeartBeat() {
-        long timestamp = System.currentTimeMillis();
-
-        for (TcpClientSession session : channels.values()) {
-            ChannelFuture future = session.getChannelFuture();
-            if (future == null || !future.channel().isActive()) {
-                log.warn("边缘服务器 [{}] 连接未激活,跳过心跳发送", session.getServerId());
-                continue;
-            }
-
-            HeartbeatCmd heartbeat = new HeartbeatCmd(timestamp);
-            future.channel().writeAndFlush(heartbeat);
-
-            log.info("→ 向边缘服务器 [{}] ({}:{}) 发送心跳,时间戳={}",
-                    session.getServerId(), session.getHost(), session.getPort(), timestamp);
-        }
-    }
     /**
      * 发送消息
      */
diff --git a/ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml b/ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml
index 4bd8f5e..f7022d2 100644
--- a/ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml
+++ b/ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml
@@ -20,7 +20,7 @@
         <result property="serverStatus"    column="server_status"    />
     </resultMap>
 
-    <sql id="selectArdServerManagementVo">
+    <sql id="selectArdServerInfoVo">
         select c.id,
                c.server_name,
                c.host,
@@ -39,8 +39,8 @@
                  left join sys_user u on u.user_id = c.user_id
     </sql>
 
-    <select id="selectArdServerManagementList" parameterType="ArdServerInfo" resultMap="ArdServerManagementResult">
-        <include refid="selectArdServerManagementVo"/>
+    <select id="selectArdServerInfoList" parameterType="ArdServerInfo" resultMap="ArdServerInfoResult">
+        <include refid="selectArdServerInfoVo"/>
         <where>
             <if test="id != null and id != ''"> and c.id = #{id}</if>
             <if test="serverName != null and serverName != ''"> and server_name like c.concat('%', #{serverName}, '%')</if>
@@ -55,12 +55,12 @@
         </where>
     </select>
     
-    <select id="selectArdServerManagementById" parameterType="String" resultMap="ArdServerManagementResult">
-        <include refid="selectArdServerManagementVo"/>
+    <select id="selectArdServerInfoById" parameterType="String" resultMap="ArdServerInfoResult">
+        <include refid="selectArdServerInfoVo"/>
         where c.id = #{id}
     </select>
 
-    <insert id="insertArdServerManagement" parameterType="ArdServerInfo">
+    <insert id="insertArdServerInfo" parameterType="ArdServerInfo">
         insert into ard_server_info
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">id,</if>
@@ -94,7 +94,7 @@
          </trim>
     </insert>
 
-    <update id="updateArdServerManagement" parameterType="ArdServerInfo">
+    <update id="updateArdServerInfo" parameterType="ArdServerInfo">
         update ard_server_info
         <trim prefix="SET" suffixOverrides=",">
             <if test="serverName != null">server_name = #{serverName},</if>
@@ -113,11 +113,11 @@
         where id = #{id}
     </update>
 
-    <delete id="deleteArdServerManagementById" parameterType="String">
+    <delete id="deleteArdServerInfoById" parameterType="String">
         delete from ard_server_info where id = #{id}
     </delete>
 
-    <delete id="deleteArdServerManagementByIds" parameterType="String">
+    <delete id="deleteArdServerInfoByIds" parameterType="String">
         delete from ard_server_info where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}

--
Gitblit v1.9.3