diff --git a/admin/src/main/java/com/multictrl/common/constant/BusinessConstant.java b/admin/src/main/java/com/multictrl/common/constant/BusinessConstant.java index 760803f..9f9cc26 100644 --- a/admin/src/main/java/com/multictrl/common/constant/BusinessConstant.java +++ b/admin/src/main/java/com/multictrl/common/constant/BusinessConstant.java @@ -71,6 +71,7 @@ public interface BusinessConstant { String DOCK_IN_WORK = "dock_in_work_"; String FLIGHT_TASK_KMZ_FILE_INFO = "flight_task_kmz_file_info_"; String UAV_SPEAKER_INDEX = "uav_speaker_index_"; + String UAV_LIGHT_INDEX = "uav_light_index_"; //********************************* other *********************************// String HTTP_PROTOCOL = "http://"; diff --git a/admin/src/main/java/com/multictrl/modules/business/controller/RemoteController.java b/admin/src/main/java/com/multictrl/modules/business/controller/RemoteController.java new file mode 100644 index 0000000..81d95b2 --- /dev/null +++ b/admin/src/main/java/com/multictrl/modules/business/controller/RemoteController.java @@ -0,0 +1,240 @@ +package com.multictrl.modules.business.controller; + +import com.multictrl.common.annotation.ApiOrder; +import com.multictrl.common.annotation.LogOperation; +import com.multictrl.common.utils.Result; +import com.multictrl.common.validator.ValidatorUtils; +import com.multictrl.modules.business.dto.remote.control.LightFineTuningSet; +import com.multictrl.modules.business.service.DJIBaseService; +import com.multictrl.modules.business.service.RemoteService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.web.bind.annotation.*; + +/** + * 远程控制 + * + * @author Sdy + * @since 1.0.0 2026/5/21 + */ +@RestController +@RequestMapping("business/remote") +@Tag(name = "远程控制", description = "远程控制是开启DRC后执行的特定通道命令,提高命令执行速度") +@ApiOrder(11) +@RequiredArgsConstructor +public class RemoteController { + private final RemoteService remoteService; + private final DJIBaseService djiBaseService; + + @LogOperation("夜景模式设置") + @PostMapping("/drcCameraNightModeSet/{dockSn}") + @Operation(summary = "夜景模式设置") + @RequiresPermissions("bus:remote:drcCameraNightModeSet") + public Result drcCameraNightModeSet(@PathVariable String dockSn, + @Parameter(name = "mode", description = "{0:关闭,1:开启,2:自动(自动模式根据进光量自动开启)}") + @RequestParam Integer mode) { + + return new Result<>().ok(remoteService.drcCameraNightModeSet(dockSn, mode)); + } + + @LogOperation("降噪等级设置") + @PostMapping("/drcCameraDenoiseLevelSet/{dockSn}") + @Operation(summary = "降噪等级设置") + @RequiresPermissions("bus:remote:drcCameraDenoiseLevelSet") + public Result drcCameraDenoiseLevelSet(@PathVariable String dockSn, + @Parameter(name = "level", description = "{2:增强降噪 15fps,3:超强降噪 5fps}(仅手动开启夜景模式后生效)") + @RequestParam Integer level) { + + return new Result<>().ok(remoteService.drcCameraDenoiseLevelSet(dockSn, level)); + } + + @LogOperation("黑白夜视使能") + @PostMapping("/drcCameraNightVisionEnable/{dockSn}") + @Operation(summary = "黑白夜视使能") + @RequiresPermissions("bus:remote:drcCameraNightVisionEnable") + public Result drcCameraNightVisionEnable(@PathVariable String dockSn, + @Parameter(name = "enable", description = "{false:关闭,true:开启}(仅变焦7x以上生效)") + @RequestParam Boolean enable) { + + return new Result<>().ok(remoteService.drcCameraNightVisionEnable(dockSn, enable)); + } + + @LogOperation("近红外补光使能") + @PostMapping("/drcInfraredFillLightEnable/{dockSn}") + @Operation(summary = "近红外补光使能") + @RequiresPermissions("bus:remote:drcInfraredFillLightEnable") + public Result drcInfraredFillLightEnable(@PathVariable String dockSn, + @Parameter(name = "enable", description = "{false:关闭,true:开启}(仅变焦7x以上生效)") + @RequestParam Boolean enable) { + + return new Result<>().ok(remoteService.drcInfraredFillLightEnable(dockSn, enable)); + } + + @LogOperation("强制降落(慎用! 急停可取消)") + @PostMapping("/drcForceLanding/{dockSn}") + @Operation(summary = "强制降落", description = "调用后,无论是否有障碍飞行器都会直接降到地面,用 drone_emergency_stop 命令可取消。降落完成后只能人工拾取飞行器,慎用!") + @RequiresPermissions("bus:remote:drcForceLanding") + public Result drcForceLanding(@PathVariable String dockSn) { + + return new Result<>().ok(djiBaseService.executeDrcAndReturnResult(dockSn, "drc_force_landing")); + } + + @LogOperation("急停") + @PostMapping("/droneEmergencyStop/{dockSn}") + @Operation(summary = "急停", description = "可取消强制降落") + @RequiresPermissions("bus:remote:droneEmergencyStop") + public Result droneEmergencyStop(@PathVariable String dockSn) { + + return new Result<>().ok(djiBaseService.executeDrcAndReturnResult(dockSn, "drone_emergency_stop")); + } + + @LogOperation("紧急降落(慎用! 急停可取消)") + @PostMapping("/drcEmergencyLanding/{dockSn}") + @Operation(summary = "紧急降落", description = "调用后,飞行器会开始降落,在开启避障时可能会因触发避障而中止。用 drone_emergency_stop 命令可取消。降落完成后只能人工拾取飞行器,慎用!") + @RequiresPermissions("bus:remote:drcEmergencyLanding") + public Result drcEmergencyLanding(@PathVariable String dockSn) { + + return new Result<>().ok(djiBaseService.executeDrcAndReturnResult(dockSn, "drc_emergency_landing")); + } + + @LogOperation("探照灯—亮度设置") + @PostMapping("/drcLightBrightnessSet/{dockSn}") + @Operation(summary = "探照灯—亮度设置") + @RequiresPermissions("bus:remote:drcLightBrightnessSet") + public Result drcLightBrightnessSet(@PathVariable String dockSn, + @Parameter(name = "brightness", description = "亮度 {max:100,min:1}") + @RequestParam Integer brightness) { + + return new Result<>().ok(remoteService.drcInfraredFillLightEnable(dockSn, brightness)); + } + + @LogOperation("探照灯—模式设置") + @PostMapping("/drcLightModeSet/{dockSn}") + @Operation(summary = "探照灯—模式设置") + @RequiresPermissions("bus:remote:drcLightModeSet") + public Result drcLightModeSet(@PathVariable String dockSn, + @Parameter(name = "mode", description = "模式{ 0: 关闭, 1: 常亮, 2: 爆闪, 3: 快速爆闪, 4: 交替爆闪 }") + @RequestParam Integer mode) { + + return new Result<>().ok(remoteService.drcLightModeSet(dockSn, mode)); + } + + @LogOperation("探照灯—左右角度微调") + @PostMapping("/drcLightFineTuningSet/{dockSn}") + @Operation(summary = "探照灯—左右角度微调") + @RequiresPermissions("bus:remote:drcLightFineTuningSet") + public Result drcLightFineTuningSet(@PathVariable String dockSn, @RequestBody LightFineTuningSet lightFineTuningSet) { + ValidatorUtils.validateEntity(lightFineTuningSet); + + return new Result<>().ok(remoteService.drcLightFineTuningSet(dockSn, lightFineTuningSet)); + } + + @LogOperation("探照灯—云台校准") + @PostMapping("/drcLightCalibration/{dockSn}") + @Operation(summary = "探照灯—云台校准") + @RequiresPermissions("bus:remote:drcLightCalibration") + public Result drcLightCalibration(@PathVariable String dockSn) { + + return new Result<>().ok(remoteService.drcLightCalibration(dockSn)); + } + + @LogOperation("DRC初始状态订阅") + @PostMapping("/drcInitialState/{dockSn}") + @Operation(summary = "DRC初始状态订阅") + @RequiresPermissions("bus:remote:drcInitialState") + public Result drcInitialState(@PathVariable String dockSn) { + + return new Result<>().ok(djiBaseService.executeDrcAndReturnResult(dockSn, "drc_initial_state_subscribe")); + } + + @LogOperation("夜航灯设置") + @PostMapping("/drcNightLightsStateSet/{dockSn}") + @Operation(summary = "夜航灯设置") + @RequiresPermissions("bus:remote:drcNightLightsStateSet") + public Result drcNightLightsStateSet(@PathVariable String dockSn, + @Parameter(name = "state", description = "状态 {0:关闭 1:开启}") + @RequestParam Integer state) { + + return new Result<>().ok(remoteService.drcLightModeSet(dockSn, state)); + } + + @LogOperation("飞行控制—隐蔽模式") + @PostMapping("/drcStealthStateSet/{dockSn}") + @Operation(summary = "飞行控制—隐蔽模式(关闭所有飞机灯光)", description = "设置飞机的隐蔽模式,用于关闭所有飞机灯光") + @RequiresPermissions("bus:remote:drcStealthStateSet") + public Result drcStealthStateSet(@PathVariable String dockSn, + @Parameter(name = "state", description = "隐蔽模式 {0:关闭 1:开启}") + @RequestParam Integer state) { + + return new Result<>().ok(remoteService.drcStealthStateSet(dockSn, state)); + } + + @LogOperation("负载控制—相机光圈") + @PostMapping("/drcCameraApertureValueSet/{dockSn}") + @Operation(summary = "负载控制—相机光圈") + @RequiresPermissions("bus:remote:drcCameraApertureValueSet") + public Result drcCameraApertureValueSet(@PathVariable String dockSn, + @Parameter(name = "value", description = "光圈值 {0:F_AUTO 50:F_AUTO ...}") + @RequestParam Integer value) { + + return new Result<>().ok(remoteService.drcCameraApertureValueSet(dockSn, value)); + } + + @LogOperation("负载控制—相机快门") + @PostMapping("/drcCameraShutterSet/{dockSn}") + @Operation(summary = "负载控制—相机快门") + @RequiresPermissions("bus:remote:drcCameraShutterSet") + public Result drcCameraShutterSet(@PathVariable String dockSn, + @Parameter(name = "value", description = "快门设置 {0:1/8000s 1:1/6400s ...}") + @RequestParam Integer value) { + + return new Result<>().ok(remoteService.drcCameraShutterSet(dockSn, value)); + } + + @LogOperation("负载控制—ISO设置") + @PostMapping("/drcCameraIsoSet/{dockSn}") + @Operation(summary = "负载控制—ISO设置") + @RequiresPermissions("bus:remote:drcCameraIsoSet") + public Result drcCameraIsoSet(@PathVariable String dockSn, + @Parameter(name = "value", description = "ISO值 {0:ISO_AUTO 1:ISO_50 ...}") + @RequestParam Integer value) { + + return new Result<>().ok(remoteService.drcCameraIsoSet(dockSn, value)); + } + + @LogOperation("负载控制—机械快门") + @PostMapping("/drcCameraMechanicalShutterSet/{dockSn}") + @Operation(summary = "负载控制—机械快门", description = "支持用户手动关闭机械快门,提高设备作业寿命,Matrice 3D广角模式下机械快门开关") + @RequiresPermissions("bus:remote:drcCameraMechanicalShutterSet") + public Result drcCameraMechanicalShutterSet(@PathVariable String dockSn, + @Parameter(name = "state", description = "是否使能机械快门 {0:关闭 1:开启}") + @RequestParam Integer state) { + + return new Result<>().ok(remoteService.drcCameraMechanicalShutterSet(dockSn, state)); + } + + @LogOperation("负载控制—镜头去畸变") + @PostMapping("/drcCameraDewarpingSet/{dockSn}") + @Operation(summary = "负载控制—镜头去畸变", description = "能让用户的广角视角不再有暗角,Matrice 3D广角模式的镜头去畸变") + @RequiresPermissions("bus:remote:drcCameraDewarpingSet") + public Result drcCameraDewarpingSet(@PathVariable String dockSn, + @Parameter(name = "state", description = "是否使能去畸变 {0:关闭 1:开启}") + @RequestParam Integer state) { + + return new Result<>().ok(remoteService.drcCameraDewarpingSet(dockSn, state)); + } + + @LogOperation("红外照片格式设置") + @PostMapping("/drcCameraPhotoFormatSet/{dockSn}") + @Operation(summary = "红外照片格式设置", description = "用于设置红外照片格式,需要直播镜头先切换为红外才可有效使用") + @RequiresPermissions("bus:remote:drcCameraPhotoFormatSet") + public Result drcCameraPhotoFormatSet(@PathVariable String dockSn, + @Parameter(name = "format", description = "照片格式 {7:RJPEG 16:DLT664}") + @RequestParam Integer format) { + + return new Result<>().ok(remoteService.drcCameraPhotoFormatSet(dockSn, format)); + } +} diff --git a/admin/src/main/java/com/multictrl/modules/business/dto/remote/control/LightFineTuningSet.java b/admin/src/main/java/com/multictrl/modules/business/dto/remote/control/LightFineTuningSet.java new file mode 100644 index 0000000..45c4982 --- /dev/null +++ b/admin/src/main/java/com/multictrl/modules/business/dto/remote/control/LightFineTuningSet.java @@ -0,0 +1,32 @@ +package com.multictrl.modules.business.dto.remote.control; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * 探照灯—左右角度微调 + * + * @author Sdy + * @since 1.0.0 2026/5/21 + */ +@Data +@Schema(name = "探照灯—左右角度微调") +public class LightFineTuningSet { + + @NotNull(message = "灯不能为空") + @Schema(description = "灯{0:左灯 1:右灯}") + private Integer position; + + @NotNull(message = "值不能为空") + @Max(value = 3, message = "最大值为+3") + @Min(value = -3, message = "最小值为-3") + @Schema(description = "值({ max: +3, min: -3})") + private Integer value; + + @NotNull(message = "是否保存不能为空") + @Schema(description = "是否保存") + private Boolean saved; +} diff --git a/admin/src/main/java/com/multictrl/modules/business/handler/StateHandler.java b/admin/src/main/java/com/multictrl/modules/business/handler/StateHandler.java index 62eca58..3c5b71c 100644 --- a/admin/src/main/java/com/multictrl/modules/business/handler/StateHandler.java +++ b/admin/src/main/java/com/multictrl/modules/business/handler/StateHandler.java @@ -165,6 +165,11 @@ public class StateHandler implements MessageHandler { if (speakerIndex != null) { CacheUtils.set(BusinessConstant.UAV_SPEAKER_INDEX + dockSn, speakerIndex); } + } else if ("".equals(name)) {//探照灯 + Integer lightIndex = psdkJson.getInt("psdk_index"); + if (lightIndex != null) { + CacheUtils.set(BusinessConstant.UAV_LIGHT_INDEX + dockSn, lightIndex); + } } } } diff --git a/admin/src/main/java/com/multictrl/modules/business/service/RemoteService.java b/admin/src/main/java/com/multictrl/modules/business/service/RemoteService.java new file mode 100644 index 0000000..38f07ac --- /dev/null +++ b/admin/src/main/java/com/multictrl/modules/business/service/RemoteService.java @@ -0,0 +1,60 @@ +package com.multictrl.modules.business.service; + +import com.multictrl.modules.business.dto.remote.control.LightFineTuningSet; + +/** + * 远程控制 + * + * @author Sdy + * @since 1.0.0 2026/5/21 + */ +public interface RemoteService { + + //夜景模式设置 + String drcCameraNightModeSet(String dockSn, Integer mode); + + //降噪等级设置 + String drcCameraDenoiseLevelSet(String dockSn, Integer level); + + //黑白夜视使能 + String drcCameraNightVisionEnable(String dockSn, Boolean enable); + + //近红外补光使能 + String drcInfraredFillLightEnable(String dockSn, Boolean enable); + + //探照灯—亮度设置 + String drcInfraredFillLightEnable(String dockSn, Integer brightness); + + //探照灯—模式设置 + String drcLightModeSet(String dockSn, Integer mode); + + //探照灯—左右角度微调 + String drcLightFineTuningSet(String dockSn, LightFineTuningSet lightFineTuningSet); + + //探照灯—云台校准 + String drcLightCalibration(String dockSn); + + //夜航灯设置 + String drcNightLightsStateSet(String dockSn, Integer state); + + //飞行控制—隐蔽模式 + String drcStealthStateSet(String dockSn, Integer state); + + //负载控制—相机光圈 + String drcCameraApertureValueSet(String dockSn, Integer value); + + //负载控制—相机快门 + String drcCameraShutterSet(String dockSn, Integer value); + + //负载控制—ISO设置 + String drcCameraIsoSet(String dockSn, Integer value); + + //负载控制—机械快门 + String drcCameraMechanicalShutterSet(String dockSn, Integer state); + + //负载控制—镜头去畸变 + String drcCameraDewarpingSet(String dockSn, Integer state); + + //红外照片格式设置 + String drcCameraPhotoFormatSet(String dockSn, Integer format); +} diff --git a/admin/src/main/java/com/multictrl/modules/business/service/impl/RemoteServiceImpl.java b/admin/src/main/java/com/multictrl/modules/business/service/impl/RemoteServiceImpl.java new file mode 100644 index 0000000..9d2a0a9 --- /dev/null +++ b/admin/src/main/java/com/multictrl/modules/business/service/impl/RemoteServiceImpl.java @@ -0,0 +1,168 @@ +package com.multictrl.modules.business.service.impl; + +import cn.hutool.json.JSONObject; +import com.multictrl.common.constant.BusinessConstant; +import com.multictrl.common.exception.ErrorCode; +import com.multictrl.common.exception.RenException; +import com.multictrl.common.utils.CacheUtils; +import com.multictrl.modules.business.dto.remote.control.LightFineTuningSet; +import com.multictrl.modules.business.service.DJIBaseService; +import com.multictrl.modules.business.service.RemoteService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 远程控制 + * + * @author Sdy + * @since 1.0.0 2026/5/21 + */ +@Service +@RequiredArgsConstructor +public class RemoteServiceImpl implements RemoteService { + private final DJIBaseService djiBaseService; + + @Override + public String drcCameraNightModeSet(String dockSn, Integer mode) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("mode", mode); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_night_mode_set", data); + } + + @Override + public String drcCameraDenoiseLevelSet(String dockSn, Integer level) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("level", level); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_denoise_level_set", data); + } + + @Override + public String drcCameraNightVisionEnable(String dockSn, Boolean enable) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("enable", enable); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_night_vision_enable", data); + } + + @Override + public String drcInfraredFillLightEnable(String dockSn, Boolean enable) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("enable", enable); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_infrared_fill_light_enable", data); + } + + @Override + public String drcInfraredFillLightEnable(String dockSn, Integer brightness) { + JSONObject data = getDataIncludeLightIndex(dockSn); + data.set("group", 0);//{"0":"主探照灯"} + data.set("brightness", brightness); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_light_brightness_set", data); + } + + @Override + public String drcLightModeSet(String dockSn, Integer mode) { + JSONObject data = getDataIncludeLightIndex(dockSn); + data.set("group", 0);//{"0":"主探照灯"} + data.set("mode", mode); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_light_mode_set", data); + } + + @Override + public String drcLightFineTuningSet(String dockSn, LightFineTuningSet lightFineTuningSet) { + JSONObject data = getDataIncludeLightIndex(dockSn); + data.set("position", lightFineTuningSet.getPosition()); + data.set("value", lightFineTuningSet.getValue()); + data.set("saved", lightFineTuningSet.getSaved()); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_light_fine_tuning_set", data); + } + + @Override + public String drcLightCalibration(String dockSn) { + JSONObject data = getDataIncludeLightIndex(dockSn); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_light_calibration", data); + } + + @Override + public String drcNightLightsStateSet(String dockSn, Integer state) { + JSONObject data = new JSONObject(); + data.set("night_lights_state", state); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_night_lights_state_set", data); + } + + @Override + public String drcStealthStateSet(String dockSn, Integer state) { + JSONObject data = new JSONObject(); + data.set("stealth_state", state); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_stealth_state_set", data); + } + + @Override + public String drcCameraApertureValueSet(String dockSn, Integer value) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("camera_type", CacheUtils.get(BusinessConstant.UAV_VIDEO_TYPE + dockSn)); + data.set("aperture_value", value); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_aperture_value_set", data); + } + + @Override + public String drcCameraShutterSet(String dockSn, Integer value) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("camera_type", CacheUtils.get(BusinessConstant.UAV_VIDEO_TYPE + dockSn)); + data.set("shutter_value", value); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_shutter_set", data); + } + + @Override + public String drcCameraIsoSet(String dockSn, Integer value) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("camera_type", CacheUtils.get(BusinessConstant.UAV_VIDEO_TYPE + dockSn)); + data.set("iso_value", value); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_iso_set", data); + } + + @Override + public String drcCameraMechanicalShutterSet(String dockSn, Integer state) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("camera_type", CacheUtils.get(BusinessConstant.UAV_VIDEO_TYPE + dockSn)); + data.set("mechanical_shutter_state", state); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_mechanical_shutter_set", data); + } + + @Override + public String drcCameraDewarpingSet(String dockSn, Integer state) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("camera_type", CacheUtils.get(BusinessConstant.UAV_VIDEO_TYPE + dockSn)); + data.set("dewarping_state", state); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_dewarping_set", data); + } + + @Override + public String drcCameraPhotoFormatSet(String dockSn, Integer format) { + JSONObject data = getDataIncludeCameraIndex(dockSn); + data.set("photo_format", format); + return djiBaseService.executeDrcAndReturnResult(dockSn, "drc_camera_photo_format_set", data); + } + + //获取包含index的data + private JSONObject getDataIncludeCameraIndex(String dockSn) { + JSONObject data = new JSONObject(); + Object cameraIndex = CacheUtils.get(BusinessConstant.UAV_CAMERA_INDEX + dockSn); + if (cameraIndex != null) { + data.set("payload_index", cameraIndex); + } else { + throw new RenException(ErrorCode.UAV_CAMERA_INDEX_NOT_EXIST); + } + return data; + } + + //获取包含index的data + private JSONObject getDataIncludeLightIndex(String dockSn) { + JSONObject data = new JSONObject(); + Object lightIndex = CacheUtils.get(BusinessConstant.UAV_LIGHT_INDEX + dockSn); + if (lightIndex != null) { + data.set("psdk_index", lightIndex); + } else { + throw new RenException(ErrorCode.UAV_LIGHT_INDEX_NOT_EXIST); + } + return data; + } +} diff --git a/common/src/main/java/com/multictrl/common/exception/ErrorCode.java b/common/src/main/java/com/multictrl/common/exception/ErrorCode.java index 18449c1..b2d2050 100644 --- a/common/src/main/java/com/multictrl/common/exception/ErrorCode.java +++ b/common/src/main/java/com/multictrl/common/exception/ErrorCode.java @@ -64,4 +64,5 @@ public interface ErrorCode { int UAV_NOT_REGISTER = 20023; int SPEAKER_NAME_EXIST = 20024; int FILE_NOT_EXIST = 20025; + int UAV_LIGHT_INDEX_NOT_EXIST = 20026; } diff --git a/common/src/main/resources/i18n/messages.properties b/common/src/main/resources/i18n/messages.properties index 58f8208..54dbee6 100644 --- a/common/src/main/resources/i18n/messages.properties +++ b/common/src/main/resources/i18n/messages.properties @@ -52,4 +52,5 @@ 20022=\u56FA\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u56FA\u4EF6\u5347\u7EA7 20023=\u65E0\u4EBA\u673A\u672A\u6CE8\u518C\uFF0C\u8BF7\u98DE\u673A\u5F00\u673A\u540E\u8FDB\u884C\u673A\u573A\u91CD\u65B0\u6CE8\u518C 20024=\u558A\u8BDD\u5668\u6A21\u7248\u540D\u79F0\u5DF2\u5B58\u5728 -20025={0}\u6587\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u8DEF\u5F84\u662F\u5426\u6B63\u786E \ No newline at end of file +20025={0}\u6587\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u8DEF\u5F84\u662F\u5426\u6B63\u786E +20026=\u98DE\u673A\u63A2\u7167\u706F\u8D1F\u8F7D\u4F4D\u7F6E\u672A\u83B7\u53D6\uFF0C\u8BF7\u68C0\u67E5\u98DE\u673A\u662F\u5426\u5F00\u673A \ No newline at end of file