增加远程控制接口
This commit is contained in:
parent
e15a249caf
commit
4cfcbb644f
|
|
@ -71,6 +71,7 @@ public interface BusinessConstant {
|
||||||
String DOCK_IN_WORK = "dock_in_work_";
|
String DOCK_IN_WORK = "dock_in_work_";
|
||||||
String FLIGHT_TASK_KMZ_FILE_INFO = "flight_task_kmz_file_info_";
|
String FLIGHT_TASK_KMZ_FILE_INFO = "flight_task_kmz_file_info_";
|
||||||
String UAV_SPEAKER_INDEX = "uav_speaker_index_";
|
String UAV_SPEAKER_INDEX = "uav_speaker_index_";
|
||||||
|
String UAV_LIGHT_INDEX = "uav_light_index_";
|
||||||
|
|
||||||
//********************************* other *********************************//
|
//********************************* other *********************************//
|
||||||
String HTTP_PROTOCOL = "http://";
|
String HTTP_PROTOCOL = "http://";
|
||||||
|
|
|
||||||
|
|
@ -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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> 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<Object> drcCameraPhotoFormatSet(@PathVariable String dockSn,
|
||||||
|
@Parameter(name = "format", description = "照片格式 {7:RJPEG 16:DLT664}")
|
||||||
|
@RequestParam Integer format) {
|
||||||
|
|
||||||
|
return new Result<>().ok(remoteService.drcCameraPhotoFormatSet(dockSn, format));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -165,6 +165,11 @@ public class StateHandler implements MessageHandler {
|
||||||
if (speakerIndex != null) {
|
if (speakerIndex != null) {
|
||||||
CacheUtils.set(BusinessConstant.UAV_SPEAKER_INDEX + dockSn, speakerIndex);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -64,4 +64,5 @@ public interface ErrorCode {
|
||||||
int UAV_NOT_REGISTER = 20023;
|
int UAV_NOT_REGISTER = 20023;
|
||||||
int SPEAKER_NAME_EXIST = 20024;
|
int SPEAKER_NAME_EXIST = 20024;
|
||||||
int FILE_NOT_EXIST = 20025;
|
int FILE_NOT_EXIST = 20025;
|
||||||
|
int UAV_LIGHT_INDEX_NOT_EXIST = 20026;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,4 +52,5 @@
|
||||||
20022=\u56FA\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u56FA\u4EF6\u5347\u7EA7
|
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
|
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
|
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
|
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
|
||||||
Loading…
Reference in New Issue