From 412f9e1d2d7b295c4d5b4094d26482a81b63b86e Mon Sep 17 00:00:00 2001 From: wuyuan <15505152113@163.com> Date: Thu, 6 Feb 2025 13:33:29 +0800 Subject: [PATCH] mqtt --- config/nacos/dk-gen.yml | 2 +- config/nacos/dk-job.yml | 2 +- config/nacos/dk-monitor.yml | 2 +- config/nacos/seata-server.properties | 8 +- ...-gateway.json => sentinel-dk-gateway.json} | 6 +- dk-common/common-cloudsdk/README.md | 48 + dk-common/common-cloudsdk/image/1.png | Bin 0 -> 29224 bytes dk-common/common-cloudsdk/image/2.png | Bin 0 -> 146952 bytes dk-common/common-cloudsdk/image/3.png | Bin 0 -> 31103 bytes dk-common/common-cloudsdk/image/4.png | Bin 0 -> 199623 bytes dk-common/common-cloudsdk/image/5.png | Bin 0 -> 51278 bytes dk-common/common-cloudsdk/image/6.png | Bin 0 -> 228475 bytes dk-common/common-cloudsdk/image/7.png | Bin 0 -> 185000 bytes dk-common/common-cloudsdk/pom.xml | 32 + .../sdk/annotations/CloudSDKVersion.java | 26 + .../cloudapi/airsense/AirsenseWarning.java | 178 + .../cloudapi/airsense/AltitudeTypeEnum.java | 39 + .../sdk/cloudapi/airsense/VertTrendEnum.java | 41 + .../cloudapi/airsense/WarningLevelEnum.java | 45 + .../airsense/api/AbstractAirsenseService.java | 36 + .../sdk/cloudapi/config/ConfigScopeEnum.java | 34 + .../sdk/cloudapi/config/ConfigTypeEnum.java | 34 + .../config/ProductConfigResponse.java | 73 + .../config/RequestsConfigRequest.java | 42 + .../config/api/AbstractConfigService.java | 30 + .../cloudapi/control/CameraAimRequest.java | 99 + .../control/CameraExposureModeSetRequest.java | 68 + .../control/CameraExposureSetRequest.java | 68 + .../control/CameraFocalLengthSetRequest.java | 66 + .../control/CameraFocusModeSetRequest.java | 68 + .../control/CameraFocusValueSetRequest.java | 68 + .../cloudapi/control/CameraLookAtRequest.java | 97 + .../control/CameraModeSwitchRequest.java | 50 + .../control/CameraPhotoStopRequest.java | 36 + .../control/CameraPhotoTakeProgress.java | 56 + .../control/CameraPhotoTakeRequest.java | 36 + .../CameraPointFocusActionRequest.java | 93 + .../control/CameraRecordingStartRequest.java | 36 + .../control/CameraRecordingStopRequest.java | 36 + .../control/CameraScreenSplitRequest.java | 58 + .../sdk/cloudapi/control/CameraTypeEnum.java | 38 + .../control/CommanderFlightModeEnum.java | 37 + .../control/CommanderModeLostActionEnum.java | 36 + .../control/ControlErrorCodeEnum.java | 91 + .../cloudapi/control/ControlMethodEnum.java | 90 + .../sdk/cloudapi/control/DelayInfoPush.java | 44 + .../cloudapi/control/DrcModeEnterRequest.java | 75 + .../cloudapi/control/DrcModeMqttBroker.java | 102 + .../cloudapi/control/DrcStatusErrorEnum.java | 52 + .../sdk/cloudapi/control/DrcStatusNotify.java | 44 + .../cloudapi/control/DroneControlRequest.java | 121 + .../control/DroneControlResponse.java | 31 + .../control/ExposureCameraTypeEnum.java | 36 + .../cloudapi/control/ExposureModeEnum.java | 44 + .../cloudapi/control/ExposureValueEnum.java | 107 + .../cloudapi/control/FlyToPointProgress.java | 68 + .../cloudapi/control/FlyToPointRequest.java | 70 + .../control/FlyToPointUpdateRequest.java | 60 + .../sdk/cloudapi/control/FlyToStatusEnum.java | 47 + .../sdk/cloudapi/control/FocusModeEnum.java | 40 + .../cloudapi/control/GimbalResetModeEnum.java | 40 + .../cloudapi/control/GimbalResetRequest.java | 49 + .../cloudapi/control/HeartBeatRequest.java | 50 + .../sdk/cloudapi/control/HsiInfoPush.java | 248 + .../control/IrMeteringAreaSetRequest.java | 116 + .../control/IrMeteringModeSetRequest.java | 54 + .../control/IrMeteringPointSetRequest.java | 80 + .../control/JoystickInvalidNotify.java | 30 + .../control/JoystickInvalidReasonEnum.java | 49 + .../control/LensStorageSettingsEnum.java | 42 + .../sdk/cloudapi/control/LiveviewDelay.java | 35 + .../cloudapi/control/MeteringModeEnum.java | 41 + .../sdk/cloudapi/control/OsdInfoPush.java | 138 + .../control/PayloadAuthorityGrabRequest.java | 36 + .../control/PayloadControlMethodEnum.java | 78 + .../control/PhotoStorageSetRequest.java | 61 + .../control/PhotoTakeProgressData.java | 42 + .../control/PhotoTakeProgressExt.java | 32 + .../control/PhotoTakeProgressStepEnum.java | 43 + .../control/PoiCircleSpeedSetRequest.java | 35 + .../cloudapi/control/PoiModeEnterRequest.java | 69 + .../sdk/cloudapi/control/PoiStatusNotify.java | 80 + .../cloudapi/control/PoiStatusReasonEnum.java | 53 + .../common/sdk/cloudapi/control/Point.java | 72 + .../cloudapi/control/TakeoffStatusEnum.java | 51 + .../control/TakeoffToPointProgress.java | 135 + .../control/TakeoffToPointRequest.java | 235 + .../control/VideoStorageSetRequest.java | 61 + .../cloudapi/control/ZoomCameraTypeEnum.java | 36 + .../control/api/AbstractControlService.java | 665 + .../AirConditionerModeSwitchActionEnum.java | 40 + .../AirConditionerModeSwitchRequest.java | 35 + .../debug/AlarmStateSwitchRequest.java | 36 + .../BatteryMaintenanceSwitchRequest.java | 36 + .../debug/BatteryStoreModeSwitchRequest.java | 36 + .../cloudapi/debug/DebugErrorCodeEnum.java | 168 + .../sdk/cloudapi/debug/DebugMethodEnum.java | 84 + .../cloudapi/debug/DongleDeviceTypeEnum.java | 38 + .../cloudapi/debug/EsimActivateRequest.java | 54 + .../debug/EsimOperatorSwitchRequest.java | 71 + .../cloudapi/debug/RemoteDebugProgress.java | 42 + .../debug/RemoteDebugProgressData.java | 78 + .../cloudapi/debug/RemoteDebugResponse.java | 30 + .../cloudapi/debug/RemoteDebugStatusEnum.java | 57 + .../debug/RemoteDebugStepKeyEnum.java | 88 + .../debug/SdrWorkmodeSwitchRequest.java | 36 + .../cloudapi/debug/SimSlotSwitchRequest.java | 71 + .../debug/api/AbstractDebugService.java | 396 + .../sdk/cloudapi/device/AirConditioner.java | 42 + .../device/AirConditionerStateEnum.java | 56 + .../cloudapi/device/AlternateLandPoint.java | 69 + .../sdk/cloudapi/device/BackupBattery.java | 57 + .../common/sdk/cloudapi/device/Battery.java | 138 + .../sdk/cloudapi/device/BatteryIndexEnum.java | 37 + .../cloudapi/device/BatteryStoreModeEnum.java | 36 + .../sdk/cloudapi/device/CameraIsoEnum.java | 61 + .../sdk/cloudapi/device/CameraModeEnum.java | 44 + .../sdk/cloudapi/device/CameraStateEnum.java | 37 + .../cloudapi/device/ControlSourceEnum.java | 38 + .../sdk/cloudapi/device/CoverStateEnum.java | 42 + .../sdk/cloudapi/device/DeviceDomainEnum.java | 45 + .../sdk/cloudapi/device/DeviceEnum.java | 129 + .../sdk/cloudapi/device/DeviceModelEnum.java | 11 + .../sdk/cloudapi/device/DeviceOsdHost.java | 124 + .../cloudapi/device/DeviceOsdWsResponse.java | 53 + .../cloudapi/device/DeviceSubTypeEnum.java | 42 + .../sdk/cloudapi/device/DeviceTypeEnum.java | 87 + .../device/DockDistanceLimitStatus.java | 58 + .../device/DockDroneControlSource.java | 116 + .../DockDroneCurrentCommanderFlightMode.java | 34 + .../device/DockDroneCurrentRthMode.java | 40 + .../device/DockDroneModeCodeReason.java | 30 + .../sdk/cloudapi/device/DockDronePayload.java | 252 + ...DockDroneThermalSupportedPaletteStyle.java | 56 + .../cloudapi/device/DockDroneWpmzVersion.java | 30 + .../cloudapi/device/DockFirmwareVersion.java | 57 + .../cloudapi/device/DockLiveErrorStatus.java | 51 + .../sdk/cloudapi/device/DockLiveStatus.java | 32 + .../cloudapi/device/DockLiveStatusData.java | 81 + .../cloudapi/device/DockMaintainStatus.java | 66 + .../sdk/cloudapi/device/DockModeCodeEnum.java | 42 + .../device/DockPayloadControlSource.java | 55 + .../cloudapi/device/DockPositionState.java | 81 + .../sdk/cloudapi/device/DockSilentMode.java | 38 + .../sdk/cloudapi/device/DockSubDevice.java | 66 + .../sdk/cloudapi/device/DongleInfo.java | 140 + .../sdk/cloudapi/device/DongleInfos.java | 32 + .../sdk/cloudapi/device/DongleTypeEnum.java | 39 + .../sdk/cloudapi/device/DrcStateEnum.java | 38 + .../sdk/cloudapi/device/DroneBattery.java | 80 + .../device/DroneBatteryMaintenance.java | 66 + .../device/DroneBatteryMaintenanceInfo.java | 76 + .../sdk/cloudapi/device/DroneChargeState.java | 42 + .../cloudapi/device/DroneMaintainStatus.java | 78 + .../cloudapi/device/DroneModeCodeEnum.java | 76 + .../cloudapi/device/DronePositionState.java | 66 + .../device/EsimActivateStateEnum.java | 39 + .../common/sdk/cloudapi/device/EsimInfo.java | 63 + .../device/ExitWaylineWhenRcLostEnum.java | 36 + .../sdk/cloudapi/device/FirmwareVersion.java | 31 + .../device/FlighttaskStepCodeEnum.java | 50 + .../sdk/cloudapi/device/FocusStateEnum.java | 43 + .../common/sdk/cloudapi/device/GearEnum.java | 54 + .../sdk/cloudapi/device/HeatStateEnum.java | 41 + .../sdk/cloudapi/device/IrMeteringArea.java | 114 + .../sdk/cloudapi/device/IrMeteringPoint.java | 54 + .../sdk/cloudapi/device/LinkWorkModeEnum.java | 36 + .../cloudapi/device/LiveviewWorldRegion.java | 66 + .../sdk/cloudapi/device/MaintainTypeEnum.java | 46 + .../cloudapi/device/MaintenanceStateEnum.java | 41 + .../device/MeasureTargetStateEnum.java | 42 + .../sdk/cloudapi/device/MediaFileDetail.java | 30 + .../cloudapi/device/ModeCodeReasonEnum.java | 82 + .../sdk/cloudapi/device/NetworkState.java | 54 + .../device/NetworkStateQualityEnum.java | 46 + .../cloudapi/device/NetworkStateTypeEnum.java | 38 + .../cloudapi/device/ObstacleAvoidance.java | 54 + .../common/sdk/cloudapi/device/OsdCamera.java | 417 + .../common/sdk/cloudapi/device/OsdDock.java | 493 + .../sdk/cloudapi/device/OsdDockDrone.java | 472 + .../device/OsdDockMaintainStatus.java | 32 + .../device/OsdDroneMaintainStatus.java | 32 + .../sdk/cloudapi/device/OsdRcDrone.java | 311 + .../sdk/cloudapi/device/OsdRemoteControl.java | 78 + .../device/PayloadFirmwareVersion.java | 53 + .../sdk/cloudapi/device/PayloadIndex.java | 75 + .../cloudapi/device/PayloadModelConst.java | 35 + .../cloudapi/device/PayloadPositionEnum.java | 40 + .../cloudapi/device/PositionFixedEnum.java | 42 + .../sdk/cloudapi/device/PutterStateEnum.java | 42 + .../sdk/cloudapi/device/RainfallEnum.java | 42 + .../device/RcDistanceLimitStatus.java | 43 + .../cloudapi/device/RcDroneControlSource.java | 92 + .../sdk/cloudapi/device/RcDronePayload.java | 140 + .../sdk/cloudapi/device/RcLiveStatus.java | 32 + .../sdk/cloudapi/device/RcLiveStatusData.java | 56 + .../sdk/cloudapi/device/RcLostActionEnum.java | 38 + .../device/RcPayloadControlSource.java | 66 + .../sdk/cloudapi/device/ShutterSpeedEnum.java | 169 + .../sdk/cloudapi/device/SimCardStateEnum.java | 39 + .../common/sdk/cloudapi/device/SimInfo.java | 63 + .../sdk/cloudapi/device/SimSlotEnum.java | 41 + .../sdk/cloudapi/device/SimTypeEnum.java | 41 + .../sdk/cloudapi/device/SmartTrackPoint.java | 66 + .../common/sdk/cloudapi/device/Storage.java | 42 + .../sdk/cloudapi/device/SwitchActionEnum.java | 36 + .../cloudapi/device/TelecomOperatorEnum.java | 43 + .../cloudapi/device/ThermalGainModeEnum.java | 40 + .../device/ThermalPaletteStyleEnum.java | 72 + .../cloudapi/device/TrackTargetModeEnum.java | 39 + .../sdk/cloudapi/device/UpdateTopo.java | 105 + .../cloudapi/device/UpdateTopoSubDevice.java | 114 + .../device/UserExperienceImprovementEnum.java | 40 + .../common/sdk/cloudapi/device/VideoId.java | 82 + .../cloudapi/device/WindDirectionEnum.java | 52 + .../sdk/cloudapi/device/WirelessLink.java | 145 + .../device/api/AbstractDeviceService.java | 274 + .../firmware/FirmwareErrorCodeEnum.java | 97 + .../cloudapi/firmware/FirmwareMethodEnum.java | 24 + .../firmware/FirmwareUpgradeTypeEnum.java | 44 + .../cloudapi/firmware/OtaCreateDevice.java | 114 + .../cloudapi/firmware/OtaCreateRequest.java | 40 + .../cloudapi/firmware/OtaCreateResponse.java | 33 + .../sdk/cloudapi/firmware/OtaProgress.java | 54 + .../cloudapi/firmware/OtaProgressData.java | 42 + .../sdk/cloudapi/firmware/OtaProgressExt.java | 30 + .../firmware/OtaProgressStatusEnum.java | 57 + .../firmware/OtaProgressStepEnum.java | 36 + .../firmware/api/AbstractFirmwareService.java | 57 + .../cloudapi/flightarea/DroneLocation.java | 54 + .../cloudapi/flightarea/FeatureProperty.java | 60 + .../flightarea/FlightAreaFeature.java | 84 + .../cloudapi/flightarea/FlightAreaFile.java | 48 + .../flightarea/FlightAreaGeometry.java | 21 + .../flightarea/FlightAreaGetFile.java | 86 + .../cloudapi/flightarea/FlightAreaJson.java | 42 + .../flightarea/FlightAreaMethodEnum.java | 27 + .../flightarea/FlightAreaPointGeometry.java | 39 + .../flightarea/FlightAreaPolygonGeometry.java | 39 + .../flightarea/FlightAreaSyncReasonEnum.java | 70 + .../flightarea/FlightAreaSyncStatusEnum.java | 51 + .../flightarea/FlightAreasDroneLocation.java | 35 + .../flightarea/FlightAreasGetRequest.java | 9 + .../flightarea/FlightAreasGetResponse.java | 40 + .../flightarea/FlightAreasSyncProgress.java | 63 + .../cloudapi/flightarea/GeofenceTypeEnum.java | 38 + .../flightarea/GeometrySubTypeEnum.java | 36 + .../cloudapi/flightarea/GeometryTypeEnum.java | 38 + .../api/AbstractFlightAreaService.java | 80 + .../common/sdk/cloudapi/hms/DeviceHms.java | 104 + .../sdk/cloudapi/hms/DeviceHmsArgs.java | 54 + .../dromara/common/sdk/cloudapi/hms/Hms.java | 32 + .../sdk/cloudapi/hms/HmsBatteryIndexEnum.java | 48 + .../cloudapi/hms/HmsChargingRodIndexEnum.java | 50 + .../cloudapi/hms/HmsDockCoverIndexEnum.java | 48 + .../common/sdk/cloudapi/hms/HmsFaqIdEnum.java | 43 + .../sdk/cloudapi/hms/HmsFormatKeyEnum.java | 44 + .../sdk/cloudapi/hms/HmsInTheSkyEnum.java | 24 + .../common/sdk/cloudapi/hms/HmsLevelEnum.java | 38 + .../cloudapi/hms/HmsMessageLanguageEnum.java | 23 + .../sdk/cloudapi/hms/HmsModuleEnum.java | 40 + .../cloudapi/hms/api/AbstractHmsService.java | 27 + .../CustomDataTransmissionFromEsdk.java | 34 + .../CustomDataTransmissionFromPsdk.java | 34 + .../CustomDataTransmissionToEsdkRequest.java | 41 + .../CustomDataTransmissionToPsdkRequest.java | 41 + .../InterconnectionMethodEnum.java | 29 + .../api/AbstractInterconnectionService.java | 83 + .../cloudapi/livestream/DockLiveCapacity.java | 66 + .../livestream/DockLiveCapacityCamera.java | 80 + .../livestream/DockLiveCapacityDevice.java | 81 + .../livestream/DockLiveCapacityVideo.java | 56 + .../DockLivestreamAbilityUpdate.java | 30 + .../cloudapi/livestream/ILivestreamUrl.java | 16 + .../livestream/LensChangeVideoTypeEnum.java | 38 + .../livestream/LiveErrorCodeEnum.java | 82 + .../livestream/LiveLensChangeRequest.java | 53 + .../livestream/LiveSetQualityRequest.java | 53 + .../livestream/LiveStartPushRequest.java | 94 + .../livestream/LiveStopPushRequest.java | 40 + .../livestream/LiveStreamMethodEnum.java | 30 + .../livestream/LivestreamAgoraUrl.java | 83 + .../livestream/LivestreamGb28181Url.java | 127 + .../livestream/LivestreamRtmpUrl.java | 42 + .../livestream/LivestreamRtspUrl.java | 68 + .../livestream/LivestreamWhipUrl.java | 42 + .../cloudapi/livestream/RcLiveCapacity.java | 66 + .../livestream/RcLiveCapacityCamera.java | 80 + .../livestream/RcLiveCapacityDevice.java | 81 + .../livestream/RcLiveCapacityVideo.java | 42 + .../livestream/RcLivestreamAbilityUpdate.java | 30 + .../sdk/cloudapi/livestream/UrlTypeEnum.java | 43 + .../cloudapi/livestream/VideoQualityEnum.java | 42 + .../cloudapi/livestream/VideoTypeEnum.java | 42 + .../api/AbstractLivestreamService.java | 107 + .../sdk/cloudapi/log/FileUploadListFile.java | 68 + .../cloudapi/log/FileUploadListRequest.java | 42 + .../cloudapi/log/FileUploadListResponse.java | 32 + .../sdk/cloudapi/log/FileUploadProgress.java | 42 + .../cloudapi/log/FileUploadProgressExt.java | 32 + .../cloudapi/log/FileUploadProgressFile.java | 90 + .../sdk/cloudapi/log/FileUploadStartFile.java | 76 + .../cloudapi/log/FileUploadStartParam.java | 39 + .../cloudapi/log/FileUploadStartRequest.java | 138 + .../cloudapi/log/FileUploadStatusEnum.java | 61 + .../cloudapi/log/FileUploadUpdateRequest.java | 54 + .../log/FileUploadUpdateStatusEnum.java | 34 + .../sdk/cloudapi/log/LogErrorCodeEnum.java | 66 + .../common/sdk/cloudapi/log/LogFileIndex.java | 73 + .../sdk/cloudapi/log/LogFileProgress.java | 102 + .../sdk/cloudapi/log/LogMethodEnum.java | 25 + .../sdk/cloudapi/log/LogModuleEnum.java | 36 + .../cloudapi/log/api/AbstractLogService.java | 81 + .../cloudapi/map/CreateMapElementRequest.java | 68 + .../map/CreateMapElementResponse.java | 39 + .../cloudapi/map/DockDroneDongleInfos.java | 9 + .../cloudapi/map/ElementCircleGeometry.java | 64 + .../sdk/cloudapi/map/ElementContent.java | 61 + .../sdk/cloudapi/map/ElementCoordinate.java | 65 + .../sdk/cloudapi/map/ElementGeometryType.java | 49 + .../map/ElementLineStringGeometry.java | 81 + .../cloudapi/map/ElementPointGeometry.java | 78 + .../cloudapi/map/ElementPolygonGeometry.java | 81 + .../sdk/cloudapi/map/ElementProperty.java | 54 + .../sdk/cloudapi/map/ElementResource.java | 67 + .../cloudapi/map/ElementResourceTypeEnum.java | 53 + .../sdk/cloudapi/map/ElementTypeEnum.java | 61 + .../cloudapi/map/GetMapElementsResponse.java | 99 + .../sdk/cloudapi/map/GroupTypeEnum.java | 44 + .../map/MapElementCreateWsResponse.java | 120 + .../map/MapElementDeleteWsResponse.java | 57 + .../map/MapElementUpdateWsResponse.java | 119 + .../sdk/cloudapi/map/MapGroupElement.java | 102 + .../map/MapGroupRefreshWsResponse.java | 45 + .../sdk/cloudapi/map/MapMethodEnum.java | 26 + .../sdk/cloudapi/map/OfflineMapFile.java | 85 + .../cloudapi/map/OfflineMapGetRequest.java | 9 + .../cloudapi/map/OfflineMapGetResponse.java | 56 + .../sdk/cloudapi/map/OfflineMapSyncFile.java | 49 + .../cloudapi/map/OfflineMapSyncProgress.java | 63 + .../map/OfflineMapSyncReasonEnum.java | 62 + .../map/OfflineMapSyncStatusEnum.java | 45 + .../cloudapi/map/UpdateMapElementRequest.java | 52 + .../map/api/AbstractOfflineMapService.java | 87 + .../sdk/cloudapi/map/api/IHttpMapService.java | 124 + .../cloudapi/media/FastUploadExtension.java | 99 + .../cloudapi/media/FileUploadCallback.java | 54 + .../media/FileUploadCallbackFile.java | 78 + .../media/FolderUploadCallbackRequest.java | 69 + .../media/GetFileFingerprintRequest.java | 41 + .../media/GetFileFingerprintResponse.java | 42 + .../HighestPriorityUploadFlightTaskMedia.java | 30 + .../media/MediaFastUploadRequest.java | 79 + .../cloudapi/media/MediaFileExtension.java | 114 + .../sdk/cloudapi/media/MediaFileMetadata.java | 104 + .../sdk/cloudapi/media/MediaMethodEnum.java | 24 + .../cloudapi/media/MediaSubFileTypeEnum.java | 38 + .../media/MediaUploadCallbackRequest.java | 124 + .../common/sdk/cloudapi/media/Position.java | 50 + .../sdk/cloudapi/media/StorageConfigGet.java | 30 + .../media/StorageConfigGetModuleEnum.java | 34 + .../media/UploadCallbackFileExtension.java | 70 + .../media/UploadCallbackFileMetadata.java | 85 + .../UploadFlighttaskMediaPrioritize.java | 37 + .../media/api/AbstractMediaService.java | 78 + .../cloudapi/media/api/IHttpMediaService.java | 116 + .../AirportBindStatusRequest.java | 32 + .../AirportBindStatusResponse.java | 39 + .../AirportOrganizationBindRequest.java | 32 + .../AirportOrganizationBindResponse.java | 39 + .../AirportOrganizationGetRequest.java | 42 + .../AirportOrganizationGetResponse.java | 35 + .../organization/BindStatusRequestDevice.java | 88 + .../BindStatusResponseDevice.java | 30 + .../organization/OrganizationBindDevice.java | 80 + .../organization/OrganizationBindInfo.java | 57 + .../api/AbstractOrganizationService.java | 54 + .../property/DistanceLimitStatusData.java | 51 + .../property/DistanceLimitStatusSet.java | 38 + .../DockDroneCommanderFlightHeight.java | 41 + .../DockDroneCommanderModeLostAction.java | 38 + .../property/DockDroneOfflineMapEnable.java | 37 + .../cloudapi/property/DockDroneRthMode.java | 38 + .../property/ExitWaylineWhenRcLostSet.java | 38 + .../sdk/cloudapi/property/HeightLimitSet.java | 41 + .../property/NightLightsStateSet.java | 38 + .../property/ObstacleAvoidanceSet.java | 37 + .../cloudapi/property/PropertySetEnum.java | 106 + .../cloudapi/property/RcLostActionSet.java | 38 + .../sdk/cloudapi/property/RthAltitudeSet.java | 41 + .../sdk/cloudapi/property/SilentModeEnum.java | 39 + .../ThermalCurrentPaletteStyleSet.java | 60 + .../cloudapi/property/ThermalGainModeSet.java | 59 + .../ThermalIsothermLowerLimitSet.java | 58 + .../property/ThermalIsothermStateSet.java | 60 + .../ThermalIsothermUpperLimitSet.java | 59 + .../UserExperienceImprovementSet.java | 38 + .../property/api/AbstractPropertyService.java | 89 + .../cloudapi/storage/CredentialsToken.java | 94 + .../sdk/cloudapi/storage/OssTypeEnum.java | 30 + .../storage/StsCredentialsResponse.java | 113 + .../storage/api/IHttpStorageService.java | 39 + .../sdk/cloudapi/tsa/DeviceIconUrl.java | 56 + .../sdk/cloudapi/tsa/DeviceTopology.java | 128 + .../common/sdk/cloudapi/tsa/IconUrlEnum.java | 37 + .../sdk/cloudapi/tsa/TopologyDeviceModel.java | 82 + .../common/sdk/cloudapi/tsa/TopologyList.java | 53 + .../sdk/cloudapi/tsa/TopologyResponse.java | 40 + .../sdk/cloudapi/tsa/api/IHttpTsaService.java | 43 + .../sdk/cloudapi/wayline/ActionTypeEnum.java | 37 + .../cloudapi/wayline/BreakpointStateEnum.java | 43 + .../wayline/DeviceExitHomingNotify.java | 54 + .../wayline/ExecutableConditions.java | 40 + .../cloudapi/wayline/ExecutionStepEnum.java | 131 + .../wayline/ExitingRTHActionEnum.java | 44 + .../wayline/ExitingRTHReasonEnum.java | 61 + .../wayline/FlighttaskBreakPoint.java | 89 + .../wayline/FlighttaskBreakReasonEnum.java | 201 + .../wayline/FlighttaskCreateFile.java | 52 + .../wayline/FlighttaskCreateRequest.java | 73 + .../wayline/FlighttaskExecuteRequest.java | 37 + .../sdk/cloudapi/wayline/FlighttaskFile.java | 53 + .../wayline/FlighttaskPrepareRequest.java | 260 + .../cloudapi/wayline/FlighttaskProgress.java | 54 + .../wayline/FlighttaskProgressData.java | 48 + .../wayline/FlighttaskProgressExt.java | 116 + .../sdk/cloudapi/wayline/FlighttaskReady.java | 35 + .../wayline/FlighttaskResourceGetRequest.java | 30 + .../FlighttaskResourceGetResponse.java | 39 + .../wayline/FlighttaskStatusEnum.java | 59 + .../wayline/FlighttaskUndoRequest.java | 39 + .../wayline/GetWaylineListOrderBy.java | 50 + .../wayline/GetWaylineListRequest.java | 188 + .../wayline/GetWaylineListResponse.java | 237 + .../cloudapi/wayline/LastPointTypeEnum.java | 39 + .../cloudapi/wayline/OrderByColumnEnum.java | 40 + .../wayline/OutOfControlActionEnum.java | 38 + .../wayline/ProgressExtBreakPoint.java | 153 + .../sdk/cloudapi/wayline/ReadyConditions.java | 77 + .../sdk/cloudapi/wayline/ReturnHomeInfo.java | 74 + .../sdk/cloudapi/wayline/RthModeEnum.java | 37 + .../sdk/cloudapi/wayline/SimulateMission.java | 65 + .../cloudapi/wayline/SimulateSwitchEnum.java | 37 + .../sdk/cloudapi/wayline/TaskTypeEnum.java | 38 + .../wayline/WaylineErrorCodeEnum.java | 322 + .../cloudapi/wayline/WaylineMethodEnum.java | 39 + .../wayline/WaylineMissionStateEnum.java | 62 + .../wayline/WaylinePrecisionTypeEnum.java | 38 + .../sdk/cloudapi/wayline/WaylineTypeEnum.java | 51 + .../WaylineUploadCallbackMetadata.java | 83 + .../wayline/WaylineUploadCallbackRequest.java | 69 + .../wayline/api/AbstractWaylineService.java | 206 + .../wayline/api/IHttpWaylineService.java | 152 + .../dromara/common/sdk/common/BaseModel.java | 82 + .../org/dromara/common/sdk/common/Common.java | 79 + .../common/sdk/common/CommonErrorEnum.java | 44 + .../sdk/common/ErrorCodeSourceEnum.java | 39 + .../common/sdk/common/HttpResultResponse.java | 95 + .../dromara/common/sdk/common/IErrorInfo.java | 22 + .../dromara/common/sdk/common/Pagination.java | 79 + .../common/sdk/common/PaginationData.java | 58 + .../dromara/common/sdk/common/SDKManager.java | 52 + .../common/sdk/common/SpringBeanUtils.java | 30 + .../common/sdk/config/CloudSDKHandler.java | 108 + .../sdk/config/CloudSDKMvcConfigurer.java | 16 + .../sdk/config/GetSnakeArgumentProcessor.java | 29 + .../common/sdk/config/GetSnakeDataBinder.java | 109 + .../config/version/CloudSDKVersionEnum.java | 43 + .../config/version/Dock2ThingVersionEnum.java | 44 + .../config/version/DockThingVersionEnum.java | 47 + .../config/version/DroneThingVersionEnum.java | 62 + .../sdk/config/version/GatewayManager.java | 88 + .../config/version/GatewayThingVersion.java | 37 + .../sdk/config/version/GatewayTypeEnum.java | 36 + .../sdk/config/version/IThingVersion.java | 13 + .../config/version/RcThingVersionEnum.java | 35 + .../sdk/exception/CloudSDKErrorEnum.java | 49 + .../sdk/exception/CloudSDKException.java | 48 + .../exception/CloudSDKVersionException.java | 17 + .../org/dromara/common/sdk/mqtt/Chan.java | 59 + .../dromara/common/sdk/mqtt/ChannelName.java | 181 + .../common/sdk/mqtt/CloudApiTopicEnum.java | 53 + .../common/sdk/mqtt/CommonTopicRequest.java | 71 + .../common/sdk/mqtt/CommonTopicResponse.java | 71 + .../common/sdk/mqtt/IMqttMessageGateway.java | 32 + .../common/sdk/mqtt/IMqttTopicService.java | 38 + .../common/sdk/mqtt/InboundMessageRouter.java | 47 + .../common/sdk/mqtt/MqttConfiguration.java | 93 + .../common/sdk/mqtt/MqttGatewayPublish.java | 105 + .../dromara/common/sdk/mqtt/MqttReply.java | 73 + .../common/sdk/mqtt/MqttReplyHandler.java | 68 + .../common/sdk/mqtt/MqttTopicServiceImpl.java | 57 + .../dromara/common/sdk/mqtt/TopicConst.java | 42 + .../common/sdk/mqtt/drc/DrcDownPublish.java | 40 + .../common/sdk/mqtt/drc/DrcUpData.java | 44 + .../common/sdk/mqtt/drc/DrcUpMethodEnum.java | 59 + .../common/sdk/mqtt/drc/DrcUpRouter.java | 40 + .../common/sdk/mqtt/drc/DrcUpSubscribe.java | 26 + .../common/sdk/mqtt/drc/TopicDrcRequest.java | 73 + .../common/sdk/mqtt/drc/TopicDrcResponse.java | 73 + .../sdk/mqtt/events/EventsDataRequest.java | 42 + .../sdk/mqtt/events/EventsErrorCode.java | 89 + .../sdk/mqtt/events/EventsMethodEnum.java | 132 + .../common/sdk/mqtt/events/EventsRouter.java | 70 + .../sdk/mqtt/events/EventsSubscribe.java | 41 + .../sdk/mqtt/events/IEventsErrorCode.java | 22 + .../sdk/mqtt/events/TopicEventsRequest.java | 108 + .../sdk/mqtt/events/TopicEventsResponse.java | 73 + .../sdk/mqtt/osd/OsdDeviceTypeEnum.java | 71 + .../common/sdk/mqtt/osd/OsdRouter.java | 63 + .../common/sdk/mqtt/osd/OsdSubscribe.java | 44 + .../common/sdk/mqtt/osd/TopicOsdRequest.java | 83 + .../sdk/mqtt/property/PropertySetPublish.java | 40 + .../property/PropertySetReplyHandler.java | 44 + .../property/PropertySetReplyResultEnum.java | 38 + .../mqtt/property/PropertySetSubscribe.java | 30 + .../property/TopicPropertySetRequest.java | 61 + .../property/TopicPropertySetResponse.java | 61 + .../sdk/mqtt/requests/RequestsMethodEnum.java | 69 + .../sdk/mqtt/requests/RequestsRouter.java | 63 + .../sdk/mqtt/requests/RequestsSubscribe.java | 34 + .../mqtt/requests/TopicRequestsRequest.java | 84 + .../mqtt/requests/TopicRequestsResponse.java | 73 + .../sdk/mqtt/services/IServicesErrorCode.java | 22 + .../sdk/mqtt/services/ServicesErrorCode.java | 94 + .../sdk/mqtt/services/ServicesPublish.java | 109 + .../sdk/mqtt/services/ServicesReplyData.java | 42 + .../mqtt/services/ServicesReplyHandler.java | 45 + .../mqtt/services/ServicesReplyReceiver.java | 66 + .../sdk/mqtt/services/ServicesSubscribe.java | 30 + .../mqtt/services/TopicServicesRequest.java | 73 + .../mqtt/services/TopicServicesResponse.java | 73 + .../sdk/mqtt/state/DockStateDataKeyEnum.java | 78 + .../sdk/mqtt/state/RcStateDataKeyEnum.java | 53 + .../sdk/mqtt/state/StateDataKeyEnum.java | 86 + .../common/sdk/mqtt/state/StateRouter.java | 89 + .../common/sdk/mqtt/state/StateSubscribe.java | 44 + .../sdk/mqtt/state/TopicStateRequest.java | 96 + .../sdk/mqtt/state/TopicStateResponse.java | 68 + .../common/sdk/mqtt/status/StatusRouter.java | 72 + .../sdk/mqtt/status/StatusSubscribe.java | 38 + .../sdk/mqtt/status/TopicStatusRequest.java | 84 + .../sdk/mqtt/status/TopicStatusResponse.java | 73 + .../common/sdk/swagger/SwaggerConfig.java | 56 + .../src/main/resources/common-seata.yml | 2 +- .../common/websocket/dto/BizCodeEnum.java | 42 + dk-common/pom.xml | 1 + .../src/main/resources/application.yml | 18 +- .../sample/CloudApiSampleApplication.java | 19 + .../sample/common/error/CommonErrorEnum.java | 57 + .../sample/common/model/CustomClaim.java | 88 + .../dromara/sample/common/util/JwtUtil.java | 144 + .../common/util/SpringBeanUtilsTest.java | 30 + .../component/ApplicationBootInitial.java | 52 + .../sample/component/AuthInterceptor.java | 60 + .../dromara/sample/component/CorsFilter.java | 35 + .../component/GlobalExceptionHandler.java | 42 + .../component/GlobalScheduleService.java | 61 + .../mqtt/config/MqttMessageChannel.java | 75 + .../config/MqttPropertyConfiguration.java | 122 + .../component/mqtt/model/EventsReceiver.java | 64 + .../component/mqtt/model/MapKeyConst.java | 16 + .../mqtt/model/MqttClientOptions.java | 31 + .../mqtt/model/MqttProtocolEnum.java | 30 + .../component/mqtt/model/MqttUseEnum.java | 19 + .../mybatis/MybatisPlusConfiguration.java | 24 + .../mybatis/MybatisPlusMetaObjectHandler.java | 37 + .../component/oss/model/OssConfiguration.java | 93 + .../component/oss/service/IOssService.java | 51 + .../service/impl/AliyunOssServiceImpl.java | 120 + .../oss/service/impl/AmazonS3ServiceImpl.java | 126 + .../oss/service/impl/MinIOServiceImpl.java | 140 + .../oss/service/impl/OssAspectHandler.java | 31 + .../oss/service/impl/OssServiceContext.java | 68 + .../component/redis/RedisConfiguration.java | 63 + .../sample/component/redis/RedisConst.java | 65 + .../sample/component/redis/RedisOpsUtils.java | 263 + .../config/AuthPrincipalHandler.java | 70 + .../config/MyConcurrentWebSocketSession.java | 25 + .../websocket/config/MyWebSocketFactory.java | 27 + .../websocket/config/MyWebSocketHandler.java | 58 + .../websocket/model/BizCodeEnum.java | 93 + .../service/IWebSocketManageService.java | 23 + .../service/IWebSocketMessageService.java | 32 + .../impl/WebSocketManageServiceImpl.java | 86 + .../impl/WebSocketMessageServiceImpl.java | 99 + .../GlobalThreadPoolConfiguration.java | 42 + .../SpringBeanConfiguration.java | 49 + .../mvc/GlobalMVCConfigurer.java | 40 + .../control/controller/DockController.java | 68 + .../control/controller/DrcController.java | 55 + .../control/model/dto/AirConditionerMode.java | 22 + .../sample/control/model/dto/AlarmState.java | 23 + .../control/model/dto/BatteryStoreMode.java | 22 + .../sample/control/model/dto/JwtAclDTO.java | 26 + .../control/model/dto/LinkWorkMode.java | 35 + .../model/dto/RemoteDebugOpenState.java | 25 + .../control/model/dto/ResultNotifyDTO.java | 24 + .../model/dto/ReturnHomeCancelState.java | 28 + .../control/model/dto/ReturnHomeState.java | 34 + .../control/model/enums/CameraModeEnum.java | 26 + .../control/model/enums/DrcMethodEnum.java | 22 + .../model/enums/DroneAuthorityEnum.java | 25 + .../model/enums/DroneControlMethodEnum.java | 28 + .../model/enums/GimbalResetModeEnum.java | 26 + .../model/enums/MqttAclAccessEnum.java | 24 + .../model/enums/PayloadCommandsEnum.java | 58 + .../model/enums/RemoteDebugMethodEnum.java | 96 + .../model/param/DeviceDrcInfoParam.java | 19 + .../control/model/param/DrcConnectParam.java | 19 + .../control/model/param/DrcModeParam.java | 37 + .../model/param/DronePayloadParam.java | 54 + .../control/model/param/FlyToPointParam.java | 36 + .../model/param/PayloadCommandsParam.java | 27 + .../control/model/param/RemoteDebugParam.java | 18 + .../model/param/TakeoffToPointParam.java | 64 + .../control/service/IControlService.java | 70 + .../sample/control/service/IDrcService.java | 60 + .../control/service/impl/CameraAimImpl.java | 24 + .../impl/CameraFocalLengthSetImpl.java | 42 + .../service/impl/CameraModeSwitchImpl.java | 31 + .../service/impl/CameraPhotoTakeImpl.java | 22 + .../impl/CameraRecordingStartImpl.java | 25 + .../service/impl/CameraRecordingStopImpl.java | 22 + .../service/impl/ControlServiceImpl.java | 228 + .../control/service/impl/DrcServiceImpl.java | 215 + .../control/service/impl/GimbalResetImpl.java | 22 + .../service/impl/PayloadCommandsHandler.java | 82 + .../service/impl/RemoteDebugHandler.java | 23 + .../service/impl/SDKControlService.java | 118 + .../control/service/impl/SDKRemoteDebug.java | 63 + .../manage/controller/DeviceController.java | 144 + .../controller/DeviceFirmwareController.java | 113 + .../controller/DeviceHmsController.java | 69 + .../controller/DeviceLogsController.java | 122 + .../controller/LiveStreamController.java | 85 + .../manage/controller/LoginController.java | 48 + .../manage/controller/TopologyController.java | 37 + .../manage/controller/UserController.java | 64 + .../controller/WorkspaceController.java | 41 + .../manage/dao/IDeviceDictionaryMapper.java | 13 + .../manage/dao/IDeviceFirmwareMapper.java | 39 + .../sample/manage/dao/IDeviceHmsMapper.java | 12 + .../sample/manage/dao/IDeviceLogsMapper.java | 12 + .../sample/manage/dao/IDeviceMapper.java | 14 + .../manage/dao/IDevicePayloadMapper.java | 12 + .../manage/dao/IFirmwareModelMapper.java | 12 + .../manage/dao/ILogsFileIndexMapper.java | 12 + .../sample/manage/dao/ILogsFileMapper.java | 12 + .../sample/manage/dao/IUserMapper.java | 8 + .../sample/manage/dao/IWorkspaceMapper.java | 8 + .../model/common/AppLicenseProperties.java | 32 + .../manage/model/common/HmsJsonUtil.java | 52 + .../manage/model/common/HmsMessage.java | 16 + .../model/common/NtpServerProperties.java | 20 + .../manage/model/dto/CapacityCameraDTO.java | 32 + .../manage/model/dto/CapacityDeviceDTO.java | 26 + .../manage/model/dto/CapacityVideoDTO.java | 28 + .../manage/model/dto/DeviceAuthorityDTO.java | 27 + .../sample/manage/model/dto/DeviceDTO.java | 75 + .../manage/model/dto/DeviceDictionaryDTO.java | 28 + .../manage/model/dto/DeviceFirmwareDTO.java | 45 + .../model/dto/DeviceFirmwareNoteDTO.java | 28 + .../model/dto/DeviceFirmwareUpgradeDTO.java | 20 + .../sample/manage/model/dto/DeviceHmsDTO.java | 57 + .../manage/model/dto/DeviceLogsDTO.java | 41 + .../manage/model/dto/DevicePayloadDTO.java | 32 + .../model/dto/DevicePayloadReceiver.java | 29 + .../model/dto/FirmwareFileProperties.java | 28 + .../manage/model/dto/FirmwareModelDTO.java | 24 + .../sample/manage/model/dto/LiveDTO.java | 20 + .../manage/model/dto/LiveStreamProperty.java | 65 + .../sample/manage/model/dto/LiveTypeDTO.java | 30 + .../manage/model/dto/LiveUrlAgoraDTO.java | 20 + .../manage/model/dto/LiveUrlGB28181DTO.java | 27 + .../manage/model/dto/LiveUrlRTSPDTO.java | 18 + .../sample/manage/model/dto/LogsFileDTO.java | 35 + .../manage/model/dto/LogsFileUploadDTO.java | 36 + .../model/dto/LogsFileUploadListDTO.java | 24 + .../model/dto/LogsOutputProgressDTO.java | 27 + .../manage/model/dto/LogsProgressDTO.java | 31 + .../model/dto/LogsUploadCredentialsDTO.java | 52 + .../manage/model/dto/ProductConfigDTO.java | 24 + .../sample/manage/model/dto/TelemetryDTO.java | 22 + .../manage/model/dto/TopologyDeviceDTO.java | 148 + .../sample/manage/model/dto/UserDTO.java | 37 + .../sample/manage/model/dto/UserListDTO.java | 34 + .../sample/manage/model/dto/UserLoginDTO.java | 21 + .../sample/manage/model/dto/WorkspaceDTO.java | 30 + .../model/entity/DeviceDictionaryEntity.java | 45 + .../manage/model/entity/DeviceEntity.java | 91 + .../model/entity/DeviceFirmwareEntity.java | 70 + .../manage/model/entity/DeviceHmsEntity.java | 78 + .../manage/model/entity/DeviceLogsEntity.java | 52 + .../model/entity/DevicePayloadEntity.java | 59 + .../model/entity/FirmwareModelEntity.java | 37 + .../manage/model/entity/LogsFileEntity.java | 58 + .../model/entity/LogsFileIndexEntity.java | 54 + .../manage/model/entity/UserEntity.java | 41 + .../manage/model/entity/WorkspaceEntity.java | 35 + .../model/enums/CustomizeConfigScopeEnum.java | 33 + .../model/enums/DeviceFirmwareStatusEnum.java | 69 + .../model/enums/DeviceLogsStatusEnum.java | 42 + .../ExitWaylineWhenRcLostActionEnum.java | 28 + .../model/enums/FirmwareMethodEnum.java | 21 + .../model/enums/LiveStreamMethodEnum.java | 29 + .../manage/model/enums/LiveUrlTypeEnum.java | 41 + .../model/enums/LiveVideoQualityEnum.java | 51 + .../model/enums/LogsFileUpdateMethodEnum.java | 28 + .../manage/model/enums/PayloadModelEnum.java | 61 + .../model/enums/PropertySetFieldEnum.java | 68 + .../manage/model/enums/StateSwitchEnum.java | 18 + .../manage/model/enums/UserTypeEnum.java | 42 + .../model/param/DeviceFirmwareQueryParam.java | 36 + .../param/DeviceFirmwareUpdateParam.java | 17 + .../param/DeviceFirmwareUploadParam.java | 27 + .../model/param/DeviceHmsQueryParam.java | 44 + .../model/param/DeviceLogsCreateParam.java | 21 + .../model/param/DeviceLogsGetParam.java | 19 + .../model/param/DeviceLogsQueryParam.java | 29 + .../manage/model/param/DeviceQueryParam.java | 36 + .../model/param/LogsFileUpdateParam.java | 21 + .../model/receiver/BasicDeviceProperty.java | 19 + .../receiver/CapacityCameraReceiver.java | 24 + .../receiver/CapacityDeviceReceiver.java | 23 + .../model/receiver/CapacityVideoReceiver.java | 21 + .../model/receiver/DeviceBasicReceiver.java | 31 + .../DeviceMaintainStatusReceiver.java | 16 + .../receiver/DistanceLimitStatusReceiver.java | 51 + .../model/receiver/DockSdrReceiver.java | 18 + .../receiver/FirmwareVersionReceiver.java | 29 + .../model/receiver/HeightLimitReceiver.java | 37 + .../model/receiver/LiveCapacityReceiver.java | 20 + .../receiver/MaintainStatusReceiver.java | 20 + .../receiver/NightLightsStateReceiver.java | 32 + .../receiver/ObstacleAvoidanceReceiver.java | 37 + .../receiver/OutOfControlActionReceiver.java | 32 + .../receiver/OutputLogsProgressReceiver.java | 17 + .../model/receiver/RthAltitudeReceiver.java | 37 + .../model/receiver/StatusGatewayReceiver.java | 43 + .../receiver/StatusSubDeviceReceiver.java | 34 + .../receiver/WirelessLinkStateReceiver.java | 19 + .../manage/service/ICameraVideoService.java | 19 + .../service/ICapacityCameraService.java | 42 + .../service/IDeviceDictionaryService.java | 24 + .../service/IDeviceFirmwareService.java | 87 + .../manage/service/IDeviceHmsService.java | 26 + .../manage/service/IDeviceLogsService.java | 86 + .../manage/service/IDevicePayloadService.java | 73 + .../manage/service/IDeviceRedisService.java | 112 + .../sample/manage/service/IDeviceService.java | 200 + .../manage/service/IFirmwareModelService.java | 18 + .../manage/service/ILiveStreamService.java | 51 + .../manage/service/ILogsFileIndexService.java | 46 + .../manage/service/ILogsFileService.java | 67 + .../service/IRequestsConfigService.java | 15 + .../manage/service/ITopologyService.java | 28 + .../sample/manage/service/IUserService.java | 44 + .../manage/service/IWorkspaceService.java | 24 + .../service/impl/CameraVideoServiceImpl.java | 35 + .../impl/CapacityCameraServiceImpl.java | 75 + .../impl/ConfigProductServiceImpl.java | 21 + .../impl/DeviceDictionaryServiceImpl.java | 59 + .../impl/DeviceFirmwareServiceImpl.java | 354 + .../service/impl/DeviceHmsServiceImpl.java | 293 + .../service/impl/DeviceLogsServiceImpl.java | 314 + .../impl/DevicePayloadServiceImpl.java | 254 + .../service/impl/DeviceRedisServiceImpl.java | 109 + .../service/impl/DeviceServiceImpl.java | 684 + .../impl/FirmwareModelServiceImpl.java | 44 + .../service/impl/LiveStreamServiceImpl.java | 233 + .../impl/LogsFileIndexServiceImpl.java | 108 + .../service/impl/LogsFileServiceImpl.java | 161 + .../service/impl/RequestConfigContext.java | 42 + .../manage/service/impl/SDKDeviceService.java | 504 + .../service/impl/SDKLivestreamService.java | 49 + .../manage/service/impl/SDKLogService.java | 14 + .../service/impl/SDKOrganizationService.java | 177 + .../service/impl/SDKPropertySetService.java | 14 + .../service/impl/TopologyServiceImpl.java | 64 + .../manage/service/impl/UserServiceImpl.java | 214 + .../service/impl/WorkspaceServiceImpl.java | 57 + .../map/controller/DeviceDataController.java | 31 + .../map/controller/FlightAreaController.java | 66 + .../WorkspaceElementController.java | 121 + .../map/dao/IDeviceFlightAreaMapper.java | 12 + .../map/dao/IElementCoordinateMapper.java | 12 + .../sample/map/dao/IFlightAreaFileMapper.java | 12 + .../map/dao/IFlightAreaPropertyMapper.java | 12 + .../sample/map/dao/IGroupElementMapper.java | 12 + .../dromara/sample/map/dao/IGroupMapper.java | 12 + .../map/model/dto/DeviceDataStatusDTO.java | 28 + .../map/model/dto/DeviceFlightAreaDTO.java | 32 + .../map/model/dto/FlightAreaContent.java | 32 + .../sample/map/model/dto/FlightAreaDTO.java | 35 + .../map/model/dto/FlightAreaFileDTO.java | 32 + .../map/model/dto/FlightAreaNotifyDTO.java | 26 + .../map/model/dto/FlightAreaPropertyDTO.java | 30 + .../model/dto/FlightAreaPropertyUpdate.java | 25 + .../sample/map/model/dto/FlightAreaWs.java | 36 + .../sample/map/model/dto/GroupElementDTO.java | 38 + .../model/entity/DeviceFlightAreaEntity.java | 46 + .../model/entity/ElementCoordinateEntity.java | 41 + .../model/entity/FlightAreaFileEntity.java | 52 + .../entity/FlightAreaPropertyEntity.java | 41 + .../map/model/entity/GroupElementEntity.java | 55 + .../sample/map/model/entity/GroupEntity.java | 49 + .../enums/FlightAreaGeometryTypeEnum.java | 37 + .../model/enums/FlightAreaOpertaionEnum.java | 39 + .../map/model/param/PostFlightAreaParam.java | 30 + .../map/model/param/PutFlightAreaParam.java | 20 + .../map/model/param/SyncFlightAreaParam.java | 21 + .../map/service/IDeviceDataService.java | 19 + .../map/service/IDeviceFlightAreaService.java | 19 + .../service/IElementCoordinateService.java | 35 + .../map/service/IFlightAreaFileService.java | 25 + .../service/IFlightAreaPropertyServices.java | 22 + .../map/service/IFlightAreaService.java | 32 + .../map/service/IGroupElementService.java | 55 + .../sample/map/service/IGroupService.java | 31 + .../map/service/IWorkspaceElementService.java | 84 + .../service/impl/DeviceDataServiceImpl.java | 62 + .../impl/DeviceFlightAreaServiceImpl.java | 85 + .../impl/ElementCoordinateServiceImpl.java | 91 + .../impl/FlightAreaFileServiceImpl.java | 184 + .../impl/FlightAreaPropertyServiceImpl.java | 100 + .../service/impl/FlightAreaServiceImpl.java | 335 + .../service/impl/GroupElementServiceImpl.java | 216 + .../map/service/impl/GroupServiceImpl.java | 74 + .../service/impl/SDKFlightAreaService.java | 14 + .../impl/WorkspaceElementServiceImpl.java | 149 + .../media/controller/FileController.java | 57 + .../media/controller/MediaController.java | 71 + .../dromara/sample/media/dao/IFileMapper.java | 12 + .../sample/media/model/MediaFileCountDTO.java | 32 + .../sample/media/model/MediaFileDTO.java | 44 + .../sample/media/model/MediaFileEntity.java | 68 + .../sample/media/model/MediaMethodEnum.java | 20 + .../sample/media/service/IFileService.java | 64 + .../media/service/IMediaRedisService.java | 26 + .../sample/media/service/IMediaService.java | 45 + .../media/service/impl/FileServiceImpl.java | 176 + .../service/impl/MediaRedisServiceImpl.java | 54 + .../media/service/impl/MediaServiceImpl.java | 216 + .../storage/controller/StorageController.java | 34 + .../storage/service/IStorageService.java | 18 + .../service/impl/StorageServiceImpl.java | 42 + .../controller/WaylineFileController.java | 184 + .../controller/WaylineJobController.java | 102 + .../wayline/dao/IWaylineFileMapper.java | 12 + .../sample/wayline/dao/IWaylineJobMapper.java | 12 + .../model/dto/ConditionalWaylineJobKey.java | 39 + .../model/dto/FlighttaskProgressExt.java | 20 + .../model/dto/FlighttaskProgressProgress.java | 16 + .../wayline/model/dto/KmzFileProperties.java | 39 + .../wayline/model/dto/WaylineFileDTO.java | 43 + .../model/dto/WaylineJobBreakPointDTO.java | 36 + .../wayline/model/dto/WaylineJobDTO.java | 71 + .../model/dto/WaylineTaskConditionDTO.java | 24 + .../dto/WaylineTaskCreateBreakPointDTO.java | 41 + .../model/dto/WaylineTaskCreateDTO.java | 38 + .../WaylineTaskExecutableConditionDTO.java | 23 + .../wayline/model/dto/WaylineTaskFileDTO.java | 22 + .../dto/WaylineTaskProgressReceiver.java | 19 + .../dto/WaylineTaskReadyConditionDTO.java | 24 + .../model/entity/WaylineFileEntity.java | 62 + .../model/entity/WaylineJobEntity.java | 90 + .../model/enums/WaylineErrorCodeEnum.java | 83 + .../model/enums/WaylineJobStatusEnum.java | 41 + .../model/enums/WaylineMethodEnum.java | 28 + .../model/enums/WaylineTaskStatusEnum.java | 19 + .../model/enums/WaylineTemplateTypeEnum.java | 46 + .../model/param/CreateJobBreakPointParam.java | 37 + .../wayline/model/param/CreateJobParam.java | 56 + .../wayline/model/param/UpdateJobParam.java | 22 + .../model/param/WaylineQueryParam.java | 30 + .../wayline/service/IFlightTaskService.java | 78 + .../wayline/service/IWaylineFileService.java | 87 + .../wayline/service/IWaylineJobService.java | 77 + .../wayline/service/IWaylineRedisService.java | 100 + .../service/impl/FlightTaskServiceImpl.java | 560 + .../service/impl/SDKWaylineService.java | 159 + .../service/impl/WaylineFileServiceImpl.java | 303 + .../service/impl/WaylineJobServiceImpl.java | 301 + .../service/impl/WaylineRedisServiceImpl.java | 112 + .../sample/src/main/resources/application.yml | 173 + dk-modules/sample/src/main/resources/hms.json | 28644 ++++++++++++++++ dk-modules/system/pom.xml | 6 + .../src/main/resources/application.yml | 2 +- .../src/main/resources/application.yml | 2 +- .../src/main/resources/application.properties | 4 +- .../src/main/resources/application.yml | 2 +- .../src/main/resources/application.yml | 2 +- pom.xml | 24 +- sessionStore/root.data | 0 895 files changed, 84639 insertions(+), 30 deletions(-) rename config/nacos/{sentinel-ruoyi-gateway.json => sentinel-dk-gateway.json} (78%) create mode 100644 dk-common/common-cloudsdk/README.md create mode 100644 dk-common/common-cloudsdk/image/1.png create mode 100644 dk-common/common-cloudsdk/image/2.png create mode 100644 dk-common/common-cloudsdk/image/3.png create mode 100644 dk-common/common-cloudsdk/image/4.png create mode 100644 dk-common/common-cloudsdk/image/5.png create mode 100644 dk-common/common-cloudsdk/image/6.png create mode 100644 dk-common/common-cloudsdk/image/7.png create mode 100644 dk-common/common-cloudsdk/pom.xml create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/annotations/CloudSDKVersion.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/airsense/AirsenseWarning.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/airsense/AltitudeTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/airsense/VertTrendEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/airsense/WarningLevelEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/airsense/api/AbstractAirsenseService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/config/ConfigScopeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/config/ConfigTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/config/ProductConfigResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/config/RequestsConfigRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/config/api/AbstractConfigService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraAimRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraExposureModeSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraExposureSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraFocalLengthSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraFocusModeSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraFocusValueSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraLookAtRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraModeSwitchRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraPhotoStopRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraPhotoTakeProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraPhotoTakeRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraPointFocusActionRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraRecordingStartRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraRecordingStopRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraScreenSplitRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CameraTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CommanderFlightModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/CommanderModeLostActionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/ControlErrorCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/ControlMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/DelayInfoPush.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/DrcModeEnterRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/DrcModeMqttBroker.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/DrcStatusErrorEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/DrcStatusNotify.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/DroneControlRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/DroneControlResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/ExposureCameraTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/ExposureModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/ExposureValueEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/FlyToPointProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/FlyToPointRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/FlyToPointUpdateRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/FlyToStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/FocusModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/GimbalResetModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/GimbalResetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/HeartBeatRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/HsiInfoPush.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/IrMeteringAreaSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/IrMeteringModeSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/IrMeteringPointSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/JoystickInvalidNotify.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/JoystickInvalidReasonEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/LensStorageSettingsEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/LiveviewDelay.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/MeteringModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/OsdInfoPush.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PayloadAuthorityGrabRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PayloadControlMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PhotoStorageSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PhotoTakeProgressData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PhotoTakeProgressExt.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PhotoTakeProgressStepEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PoiCircleSpeedSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PoiModeEnterRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PoiStatusNotify.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/PoiStatusReasonEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/Point.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/TakeoffStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/TakeoffToPointProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/TakeoffToPointRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/VideoStorageSetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/ZoomCameraTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/control/api/AbstractControlService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/AirConditionerModeSwitchActionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/AirConditionerModeSwitchRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/AlarmStateSwitchRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/BatteryMaintenanceSwitchRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/BatteryStoreModeSwitchRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/DebugErrorCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/DebugMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/DongleDeviceTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/EsimActivateRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/EsimOperatorSwitchRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/RemoteDebugProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/RemoteDebugProgressData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/RemoteDebugResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/RemoteDebugStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/RemoteDebugStepKeyEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/SdrWorkmodeSwitchRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/SimSlotSwitchRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/debug/api/AbstractDebugService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/AirConditioner.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/AirConditionerStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/AlternateLandPoint.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/BackupBattery.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/Battery.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/BatteryIndexEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/BatteryStoreModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/CameraIsoEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/CameraModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/CameraStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/ControlSourceEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/CoverStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceDomainEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceModelEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceOsdHost.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceOsdWsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceSubTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockDistanceLimitStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockDroneControlSource.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockDroneCurrentCommanderFlightMode.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockDroneCurrentRthMode.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockDroneModeCodeReason.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockDronePayload.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockDroneThermalSupportedPaletteStyle.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockDroneWpmzVersion.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockFirmwareVersion.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockLiveErrorStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockLiveStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockLiveStatusData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockMaintainStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockModeCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockPayloadControlSource.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockPositionState.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockSilentMode.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DockSubDevice.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DongleInfo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DongleInfos.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DongleTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DrcStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DroneBattery.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DroneBatteryMaintenance.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DroneBatteryMaintenanceInfo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DroneChargeState.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DroneMaintainStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DroneModeCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DronePositionState.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/EsimActivateStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/EsimInfo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/ExitWaylineWhenRcLostEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/FirmwareVersion.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/FlighttaskStepCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/FocusStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/GearEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/HeatStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/IrMeteringArea.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/IrMeteringPoint.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/LinkWorkModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/LiveviewWorldRegion.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/MaintainTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/MaintenanceStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/MeasureTargetStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/MediaFileDetail.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/ModeCodeReasonEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/NetworkState.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/NetworkStateQualityEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/NetworkStateTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/ObstacleAvoidance.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/OsdCamera.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/OsdDock.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/OsdDockDrone.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/OsdDockMaintainStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/OsdDroneMaintainStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/OsdRcDrone.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/OsdRemoteControl.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/PayloadFirmwareVersion.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/PayloadIndex.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/PayloadModelConst.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/PayloadPositionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/PositionFixedEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/PutterStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/RainfallEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/RcDistanceLimitStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/RcDroneControlSource.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/RcDronePayload.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/RcLiveStatus.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/RcLiveStatusData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/RcLostActionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/RcPayloadControlSource.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/ShutterSpeedEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/SimCardStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/SimInfo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/SimSlotEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/SimTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/SmartTrackPoint.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/Storage.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/SwitchActionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/TelecomOperatorEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/ThermalGainModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/ThermalPaletteStyleEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/TrackTargetModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/UpdateTopo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/UpdateTopoSubDevice.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/UserExperienceImprovementEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/VideoId.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/WindDirectionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/WirelessLink.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/api/AbstractDeviceService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/FirmwareErrorCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/FirmwareMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/FirmwareUpgradeTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/OtaCreateDevice.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/OtaCreateRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/OtaCreateResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/OtaProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/OtaProgressData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/OtaProgressExt.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/OtaProgressStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/OtaProgressStepEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/firmware/api/AbstractFirmwareService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/DroneLocation.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FeatureProperty.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaFeature.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaGeometry.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaGetFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaJson.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaPointGeometry.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaPolygonGeometry.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaSyncReasonEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreaSyncStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreasDroneLocation.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreasGetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreasGetResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/FlightAreasSyncProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/GeofenceTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/GeometrySubTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/GeometryTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/flightarea/api/AbstractFlightAreaService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/DeviceHms.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/DeviceHmsArgs.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/Hms.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsBatteryIndexEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsChargingRodIndexEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsDockCoverIndexEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsFaqIdEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsFormatKeyEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsInTheSkyEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsLevelEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsMessageLanguageEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/HmsModuleEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/hms/api/AbstractHmsService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/interconnection/CustomDataTransmissionFromEsdk.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/interconnection/CustomDataTransmissionFromPsdk.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/interconnection/CustomDataTransmissionToEsdkRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/interconnection/CustomDataTransmissionToPsdkRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/interconnection/InterconnectionMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/interconnection/api/AbstractInterconnectionService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/DockLiveCapacity.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/DockLiveCapacityCamera.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/DockLiveCapacityDevice.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/DockLiveCapacityVideo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/DockLivestreamAbilityUpdate.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/ILivestreamUrl.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LensChangeVideoTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LiveErrorCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LiveLensChangeRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LiveSetQualityRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LiveStartPushRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LiveStopPushRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LiveStreamMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LivestreamAgoraUrl.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LivestreamGb28181Url.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LivestreamRtmpUrl.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LivestreamRtspUrl.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/LivestreamWhipUrl.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/RcLiveCapacity.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/RcLiveCapacityCamera.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/RcLiveCapacityDevice.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/RcLiveCapacityVideo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/RcLivestreamAbilityUpdate.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/UrlTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/VideoQualityEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/VideoTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/livestream/api/AbstractLivestreamService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadListFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadListRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadListResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadProgressExt.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadProgressFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadStartFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadStartParam.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadStartRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadUpdateRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/FileUploadUpdateStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/LogErrorCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/LogFileIndex.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/LogFileProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/LogMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/LogModuleEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/log/api/AbstractLogService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/CreateMapElementRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/CreateMapElementResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/DockDroneDongleInfos.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementCircleGeometry.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementContent.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementCoordinate.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementGeometryType.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementLineStringGeometry.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementPointGeometry.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementPolygonGeometry.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementProperty.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementResource.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementResourceTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/ElementTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/GetMapElementsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/GroupTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/MapElementCreateWsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/MapElementDeleteWsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/MapElementUpdateWsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/MapGroupElement.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/MapGroupRefreshWsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/MapMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/OfflineMapFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/OfflineMapGetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/OfflineMapGetResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/OfflineMapSyncFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/OfflineMapSyncProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/OfflineMapSyncReasonEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/OfflineMapSyncStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/UpdateMapElementRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/IHttpMapService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/FastUploadExtension.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/FileUploadCallback.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/FileUploadCallbackFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/FolderUploadCallbackRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/GetFileFingerprintRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/GetFileFingerprintResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/HighestPriorityUploadFlightTaskMedia.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/MediaFastUploadRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/MediaFileExtension.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/MediaFileMetadata.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/MediaMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/MediaSubFileTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/MediaUploadCallbackRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/Position.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/StorageConfigGet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/StorageConfigGetModuleEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/UploadCallbackFileExtension.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/UploadCallbackFileMetadata.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/UploadFlighttaskMediaPrioritize.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/api/AbstractMediaService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/media/api/IHttpMediaService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/AirportBindStatusRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/AirportBindStatusResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/AirportOrganizationBindRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/AirportOrganizationBindResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/AirportOrganizationGetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/AirportOrganizationGetResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/BindStatusRequestDevice.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/BindStatusResponseDevice.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/OrganizationBindDevice.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/OrganizationBindInfo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/organization/api/AbstractOrganizationService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/DistanceLimitStatusData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/DistanceLimitStatusSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/DockDroneCommanderFlightHeight.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/DockDroneCommanderModeLostAction.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/DockDroneOfflineMapEnable.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/DockDroneRthMode.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/ExitWaylineWhenRcLostSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/HeightLimitSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/NightLightsStateSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/ObstacleAvoidanceSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/PropertySetEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/RcLostActionSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/RthAltitudeSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/SilentModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/ThermalCurrentPaletteStyleSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/ThermalGainModeSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/ThermalIsothermLowerLimitSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/ThermalIsothermStateSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/ThermalIsothermUpperLimitSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/UserExperienceImprovementSet.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/property/api/AbstractPropertyService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/storage/CredentialsToken.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/storage/OssTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/storage/StsCredentialsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/storage/api/IHttpStorageService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/tsa/DeviceIconUrl.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/tsa/DeviceTopology.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/tsa/IconUrlEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/tsa/TopologyDeviceModel.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/tsa/TopologyList.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/tsa/TopologyResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/tsa/api/IHttpTsaService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/ActionTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/BreakpointStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/DeviceExitHomingNotify.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/ExecutableConditions.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/ExecutionStepEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/ExitingRTHActionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/ExitingRTHReasonEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskBreakPoint.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskBreakReasonEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskCreateFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskCreateRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskExecuteRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskFile.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskPrepareRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskProgress.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskProgressData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskProgressExt.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskReady.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskResourceGetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskResourceGetResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskStatusEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/FlighttaskUndoRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListOrderBy.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/GetWaylineListResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/LastPointTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/OrderByColumnEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/OutOfControlActionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/ProgressExtBreakPoint.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/ReadyConditions.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/ReturnHomeInfo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/RthModeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/SimulateMission.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/SimulateSwitchEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/TaskTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/WaylineErrorCodeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/WaylineMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/WaylineMissionStateEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/WaylinePrecisionTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/WaylineTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/WaylineUploadCallbackMetadata.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/WaylineUploadCallbackRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/AbstractWaylineService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/wayline/api/IHttpWaylineService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/BaseModel.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/Common.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/CommonErrorEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/ErrorCodeSourceEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/HttpResultResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/IErrorInfo.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/Pagination.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/PaginationData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/SDKManager.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/common/SpringBeanUtils.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/CloudSDKHandler.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/CloudSDKMvcConfigurer.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/GetSnakeArgumentProcessor.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/GetSnakeDataBinder.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/CloudSDKVersionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/Dock2ThingVersionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/DockThingVersionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/DroneThingVersionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/GatewayManager.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/GatewayThingVersion.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/GatewayTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/IThingVersion.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/config/version/RcThingVersionEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/exception/CloudSDKErrorEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/exception/CloudSDKException.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/exception/CloudSDKVersionException.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/Chan.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/ChannelName.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/CloudApiTopicEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/CommonTopicRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/CommonTopicResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/IMqttMessageGateway.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/IMqttTopicService.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/InboundMessageRouter.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/MqttConfiguration.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/MqttGatewayPublish.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/MqttReply.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/MqttReplyHandler.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/MqttTopicServiceImpl.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/TopicConst.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/drc/DrcDownPublish.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/drc/DrcUpData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/drc/DrcUpMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/drc/DrcUpRouter.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/drc/DrcUpSubscribe.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/drc/TopicDrcRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/drc/TopicDrcResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/events/EventsDataRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/events/EventsErrorCode.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/events/EventsMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/events/EventsRouter.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/events/EventsSubscribe.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/events/IEventsErrorCode.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/events/TopicEventsRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/events/TopicEventsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/osd/OsdDeviceTypeEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/osd/OsdRouter.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/osd/OsdSubscribe.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/osd/TopicOsdRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/PropertySetPublish.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/PropertySetReplyHandler.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/PropertySetReplyResultEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/PropertySetSubscribe.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/TopicPropertySetRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/TopicPropertySetResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/requests/RequestsMethodEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/requests/RequestsRouter.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/requests/RequestsSubscribe.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/requests/TopicRequestsRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/requests/TopicRequestsResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/IServicesErrorCode.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/ServicesErrorCode.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/ServicesPublish.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/ServicesReplyData.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/ServicesReplyHandler.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/ServicesReplyReceiver.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/ServicesSubscribe.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/TopicServicesRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/services/TopicServicesResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/state/DockStateDataKeyEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/state/RcStateDataKeyEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/state/StateDataKeyEnum.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/state/StateRouter.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/state/StateSubscribe.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/state/TopicStateRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/state/TopicStateResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/status/StatusRouter.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/status/StatusSubscribe.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/status/TopicStatusRequest.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/status/TopicStatusResponse.java create mode 100644 dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/swagger/SwaggerConfig.java create mode 100644 dk-common/common-websocket/src/main/java/org/dromara/common/websocket/dto/BizCodeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/CloudApiSampleApplication.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/common/error/CommonErrorEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/common/model/CustomClaim.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/common/util/JwtUtil.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/common/util/SpringBeanUtilsTest.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/ApplicationBootInitial.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/AuthInterceptor.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/CorsFilter.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/GlobalExceptionHandler.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/GlobalScheduleService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mqtt/config/MqttMessageChannel.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mqtt/config/MqttPropertyConfiguration.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mqtt/model/EventsReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mqtt/model/MapKeyConst.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mqtt/model/MqttClientOptions.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mqtt/model/MqttProtocolEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mqtt/model/MqttUseEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mybatis/MybatisPlusConfiguration.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/mybatis/MybatisPlusMetaObjectHandler.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/oss/model/OssConfiguration.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/oss/service/IOssService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/oss/service/impl/AliyunOssServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/oss/service/impl/AmazonS3ServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/oss/service/impl/MinIOServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/oss/service/impl/OssAspectHandler.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/oss/service/impl/OssServiceContext.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/redis/RedisConfiguration.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/redis/RedisConst.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/redis/RedisOpsUtils.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/config/AuthPrincipalHandler.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/config/MyConcurrentWebSocketSession.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/config/MyWebSocketFactory.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/config/MyWebSocketHandler.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/model/BizCodeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/service/IWebSocketManageService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/service/IWebSocketMessageService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/service/impl/WebSocketManageServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/component/websocket/service/impl/WebSocketMessageServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/configuration/GlobalThreadPoolConfiguration.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/configuration/SpringBeanConfiguration.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/configuration/mvc/GlobalMVCConfigurer.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/controller/DockController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/controller/DrcController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/AirConditionerMode.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/AlarmState.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/BatteryStoreMode.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/JwtAclDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/LinkWorkMode.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/RemoteDebugOpenState.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/ResultNotifyDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/ReturnHomeCancelState.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/dto/ReturnHomeState.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/enums/CameraModeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/enums/DrcMethodEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/enums/DroneAuthorityEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/enums/DroneControlMethodEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/enums/GimbalResetModeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/enums/MqttAclAccessEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/enums/PayloadCommandsEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/enums/RemoteDebugMethodEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/param/DeviceDrcInfoParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/param/DrcConnectParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/param/DrcModeParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/param/DronePayloadParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/param/FlyToPointParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/param/PayloadCommandsParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/param/RemoteDebugParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/model/param/TakeoffToPointParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/IControlService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/IDrcService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/CameraAimImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/CameraFocalLengthSetImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/CameraModeSwitchImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/CameraPhotoTakeImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/CameraRecordingStartImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/CameraRecordingStopImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/ControlServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/DrcServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/GimbalResetImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/PayloadCommandsHandler.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/RemoteDebugHandler.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/SDKControlService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/control/service/impl/SDKRemoteDebug.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceFirmwareController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceHmsController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceLogsController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/LiveStreamController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/LoginController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/TopologyController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/UserController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/WorkspaceController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IDeviceDictionaryMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IDeviceFirmwareMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IDeviceHmsMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IDeviceLogsMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IDeviceMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IDevicePayloadMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IFirmwareModelMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/ILogsFileIndexMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/ILogsFileMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IUserMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/dao/IWorkspaceMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/common/AppLicenseProperties.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/common/HmsJsonUtil.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/common/HmsMessage.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/common/NtpServerProperties.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/CapacityCameraDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/CapacityDeviceDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/CapacityVideoDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceAuthorityDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDictionaryDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceFirmwareDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceFirmwareNoteDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceFirmwareUpgradeDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceHmsDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceLogsDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DevicePayloadDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DevicePayloadReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/FirmwareFileProperties.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/FirmwareModelDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LiveDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LiveStreamProperty.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LiveTypeDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LiveUrlAgoraDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LiveUrlGB28181DTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LiveUrlRTSPDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LogsFileDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LogsFileUploadDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LogsFileUploadListDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LogsOutputProgressDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LogsProgressDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/LogsUploadCredentialsDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/ProductConfigDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/TelemetryDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/TopologyDeviceDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/UserDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/UserListDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/UserLoginDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/WorkspaceDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceDictionaryEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceFirmwareEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceHmsEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceLogsEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DevicePayloadEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/FirmwareModelEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/LogsFileEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/LogsFileIndexEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/UserEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/WorkspaceEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/CustomizeConfigScopeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/DeviceFirmwareStatusEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/DeviceLogsStatusEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/ExitWaylineWhenRcLostActionEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/FirmwareMethodEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/LiveStreamMethodEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/LiveUrlTypeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/LiveVideoQualityEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/LogsFileUpdateMethodEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/PayloadModelEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/PropertySetFieldEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/StateSwitchEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/enums/UserTypeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/DeviceFirmwareQueryParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/DeviceFirmwareUpdateParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/DeviceFirmwareUploadParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/DeviceHmsQueryParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/DeviceLogsCreateParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/DeviceLogsGetParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/DeviceLogsQueryParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/DeviceQueryParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/param/LogsFileUpdateParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/BasicDeviceProperty.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/CapacityCameraReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/CapacityDeviceReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/CapacityVideoReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/DeviceBasicReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/DeviceMaintainStatusReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/DistanceLimitStatusReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/DockSdrReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/FirmwareVersionReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/HeightLimitReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/LiveCapacityReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/MaintainStatusReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/NightLightsStateReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/ObstacleAvoidanceReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/OutOfControlActionReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/OutputLogsProgressReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/RthAltitudeReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/StatusGatewayReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/StatusSubDeviceReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/receiver/WirelessLinkStateReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/ICameraVideoService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/ICapacityCameraService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceDictionaryService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceFirmwareService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceHmsService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceLogsService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDevicePayloadService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceRedisService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IFirmwareModelService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/ILiveStreamService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/ILogsFileIndexService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/ILogsFileService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IRequestsConfigService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/ITopologyService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IUserService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IWorkspaceService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/CameraVideoServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/CapacityCameraServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/ConfigProductServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceDictionaryServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceFirmwareServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceHmsServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceLogsServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DevicePayloadServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceRedisServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/FirmwareModelServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LogsFileIndexServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LogsFileServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/RequestConfigContext.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKLivestreamService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKLogService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKOrganizationService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKPropertySetService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/TopologyServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/UserServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/WorkspaceServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/controller/DeviceDataController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/controller/FlightAreaController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/controller/WorkspaceElementController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/dao/IDeviceFlightAreaMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/dao/IElementCoordinateMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/dao/IFlightAreaFileMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/dao/IFlightAreaPropertyMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/dao/IGroupElementMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/dao/IGroupMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/DeviceDataStatusDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/DeviceFlightAreaDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/FlightAreaContent.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/FlightAreaDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/FlightAreaFileDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/FlightAreaNotifyDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/FlightAreaPropertyDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/FlightAreaPropertyUpdate.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/FlightAreaWs.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/dto/GroupElementDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/entity/DeviceFlightAreaEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/entity/ElementCoordinateEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/entity/FlightAreaFileEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/entity/FlightAreaPropertyEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/entity/GroupElementEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/entity/GroupEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/enums/FlightAreaGeometryTypeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/enums/FlightAreaOpertaionEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/param/PostFlightAreaParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/param/PutFlightAreaParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/model/param/SyncFlightAreaParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IDeviceDataService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IDeviceFlightAreaService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IElementCoordinateService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IFlightAreaFileService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IFlightAreaPropertyServices.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IFlightAreaService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IGroupElementService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IGroupService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/IWorkspaceElementService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/DeviceDataServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/DeviceFlightAreaServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/ElementCoordinateServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/FlightAreaFileServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/FlightAreaPropertyServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/FlightAreaServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/GroupElementServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/GroupServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/SDKFlightAreaService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/WorkspaceElementServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/controller/FileController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/controller/MediaController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/dao/IFileMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileCountDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaMethodEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/service/IMediaRedisService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/service/IMediaService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/MediaRedisServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/MediaServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/storage/controller/StorageController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/storage/service/IStorageService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/storage/service/impl/StorageServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineFileController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/dao/IWaylineFileMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/dao/IWaylineJobMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/ConditionalWaylineJobKey.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/FlighttaskProgressExt.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/FlighttaskProgressProgress.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/KmzFileProperties.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineFileDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineJobBreakPointDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineJobDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineTaskConditionDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineTaskCreateBreakPointDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineTaskCreateDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineTaskExecutableConditionDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineTaskFileDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineTaskProgressReceiver.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/WaylineTaskReadyConditionDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineJobEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/enums/WaylineErrorCodeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/enums/WaylineJobStatusEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/enums/WaylineMethodEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/enums/WaylineTaskStatusEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/enums/WaylineTemplateTypeEnum.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/param/CreateJobBreakPointParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/param/CreateJobParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/param/UpdateJobParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/param/WaylineQueryParam.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IFlightTaskService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineFileService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineJobService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineRedisService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/FlightTaskServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineJobServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineRedisServiceImpl.java create mode 100644 dk-modules/sample/src/main/resources/application.yml create mode 100644 dk-modules/sample/src/main/resources/hms.json create mode 100644 sessionStore/root.data diff --git a/config/nacos/dk-gen.yml b/config/nacos/dk-gen.yml index f15a248..d49f3f6 100644 --- a/config/nacos/dk-gen.yml +++ b/config/nacos/dk-gen.yml @@ -3,7 +3,7 @@ spring: dynamic: # 设置默认的数据源或者数据源组,默认值即为 master primary: master - seata: false + seata: true datasource: # 主库数据源 master: diff --git a/config/nacos/dk-job.yml b/config/nacos/dk-job.yml index 2fa9a7e..6af577b 100644 --- a/config/nacos/dk-job.yml +++ b/config/nacos/dk-job.yml @@ -3,7 +3,7 @@ spring: dynamic: # 设置默认的数据源或者数据源组,默认值即为 master primary: master - seata: false + seata: true datasource: # 主库数据源 master: diff --git a/config/nacos/dk-monitor.yml b/config/nacos/dk-monitor.yml index 92ca041..2212d7e 100644 --- a/config/nacos/dk-monitor.yml +++ b/config/nacos/dk-monitor.yml @@ -10,4 +10,4 @@ spring: title: RuoYi-Cloud-Plus服务监控中心 discovery: # seata 不具有健康检查的能力 防止报错排除掉 - ignored-services: ruoyi-seata-server + ignored-services: dk-seata-server diff --git a/config/nacos/seata-server.properties b/config/nacos/seata-server.properties index 8ad7dad..6e5224c 100644 --- a/config/nacos/seata-server.properties +++ b/config/nacos/seata-server.properties @@ -1,7 +1,7 @@ -service.vgroupMapping.ruoyi-auth-group=default -service.vgroupMapping.ruoyi-system-group=default -service.vgroupMapping.ruoyi-resource-group=default -service.vgroupMapping.ruoyi-workflow-group=default +service.vgroupMapping.dk-auth-group=default +service.vgroupMapping.dk-system-group=default +service.vgroupMapping.dk-resource-group=default +service.vgroupMapping.dk-workflow-group=default service.enableDegrade=false service.disableGlobalTransaction=false diff --git a/config/nacos/sentinel-ruoyi-gateway.json b/config/nacos/sentinel-dk-gateway.json similarity index 78% rename from config/nacos/sentinel-ruoyi-gateway.json rename to config/nacos/sentinel-dk-gateway.json index 667faac..740eb0c 100644 --- a/config/nacos/sentinel-ruoyi-gateway.json +++ b/config/nacos/sentinel-dk-gateway.json @@ -1,6 +1,6 @@ [ { - "resource": "ruoyi-auth", + "resource": "dk-auth", "count": 500, "grade": 1, "limitApp": "default", @@ -8,7 +8,7 @@ "controlBehavior": 0 }, { - "resource": "ruoyi-system", + "resource": "dk-system", "count": 1000, "grade": 1, "limitApp": "default", @@ -16,7 +16,7 @@ "controlBehavior": 0 }, { - "resource": "ruoyi-resource", + "resource": "dk-resource", "count": 500, "grade": 1, "limitApp": "default", diff --git a/dk-common/common-cloudsdk/README.md b/dk-common/common-cloudsdk/README.md new file mode 100644 index 0000000..f0b8a5f --- /dev/null +++ b/dk-common/common-cloudsdk/README.md @@ -0,0 +1,48 @@ +# 如何接入CloudSDK +### 1. 在组件扫描中增加包名:org.dromara.common.sdk +### [2. 连接MQTT](#如何连接MQTT) +### [3. 实现SDK 的方法](#如何实现SDK的方法) +### [4. 调用SDK 的方法](#如何调用SDK的方法) + + +## 如何连接MQTT +- 在spring容器中注入MqttConnectOptions和MqttPahoClientFactory; + ![1](./image/6.png) + +- 在application.yml中配置cloud-sdk.mqtt.inbound-topic,未配置则不进行初始化订阅。 + + +## 如何实现SDK的方法 + - 定义一个类,继承org.dromara.common.sdk.cloudapi.*.api包中的抽象类; + - 重写具体的方法以实现功能; + - 将定义的类放入spring容器中,由spring管理bean的生命周期。 +### 【设备上线】示例: + - 定义一个类:SDKDeviceService 继承AbstractDeviceService; +![1](./image/1.png) + - 重写方法updateTopoOnline,实现设备上线功能。 +![1](./image/2.png) + +## 如何调用SDK的方法 + - 定义一个类,继承org.dromara.common.sdk.cloudapi.*.api包中的抽象类; + - 在需要调用的类中注入该类; + - 调用具体的方法。 +### 【航线预下发命令】示例: + - 定义一个类:SDKWaylineService 继承 AbstractWaylineService; +![1](./image/3.png) + - 在WaylineJobServiceImpl中注入该类; +![1](./image/4.png) + - 调用下发命令的方法: +![1](./image/5.png) + +## 如何实现CloudAPI 定义的http 接口 + - 定义一个类,实现org.dromara.common.sdk.cloudapi.*.api包中的http接口类; + - 重写具体的方法以实现接口,无需定义请求地址和方法等数据。 + ![1](./image/7.png) + +## 如何查看CloudAPI 定义的所有http 接口 + - 启动程序 + - 浏览器打开:http://localhost:6789/swagger-ui/index.html + +## 如何接入WebSocket + - CloudSDK 已经定义了WebSocket服务,但是没有实现WebSocket管理。默认地址为:http://localhost:6789/api/v1/ws + - 自定义接入参考:org.dromara.common.sample.component.websocket.config \ No newline at end of file diff --git a/dk-common/common-cloudsdk/image/1.png b/dk-common/common-cloudsdk/image/1.png new file mode 100644 index 0000000000000000000000000000000000000000..8d57aa869801956442ea845bd3e71e441db3cf04 GIT binary patch literal 29224 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