Commit a2dc3c77 by gdj

智测型号放行

parent 967dc111
package com.dji.sample.common.util;
import org.springframework.util.StringUtils;
import static com.dji.sample.common.constant.DeviceConstant.CUSTOM_DOCK_LIST;
import static com.dji.sample.common.constant.DeviceConstant.CUSTOM_DOCK_START;
/**
* 设备常用工具类
* @author guan
*/
public class DeviceUtil {
/**
* 是否智测系列设备
* @param dockSn
* @return
*/
public static boolean isCustomDevice(String dockSn) {
if (!StringUtils.hasText(dockSn)) {
return false;
}
if (dockSn.startsWith(CUSTOM_DOCK_START)) {
return true;
}
if (CUSTOM_DOCK_LIST.contains(dockSn) || dockSn.contains("12345")) {
return true;
}
return false;
}
}
...@@ -41,6 +41,8 @@ import java.util.Objects; ...@@ -41,6 +41,8 @@ import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
import static com.dji.sample.common.util.DeviceUtil.isCustomDevice;
/** /**
* @author sean * @author sean
* @version 1.2 * @version 1.2
...@@ -120,6 +122,9 @@ public class ControlServiceImpl implements IControlService { ...@@ -120,6 +122,9 @@ public class ControlServiceImpl implements IControlService {
} }
private void checkFlyToCondition(String dockSn) { private void checkFlyToCondition(String dockSn) {
if (isCustomDevice(dockSn)) {
return;
}
// TODO 设备固件版本不兼容情况 // TODO 设备固件版本不兼容情况
Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(dockSn); Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(dockSn);
if (dockOpt.isEmpty()) { if (dockOpt.isEmpty()) {
...@@ -165,6 +170,9 @@ public class ControlServiceImpl implements IControlService { ...@@ -165,6 +170,9 @@ public class ControlServiceImpl implements IControlService {
} }
private void checkTakeoffCondition(String dockSn) { private void checkTakeoffCondition(String dockSn) {
if (isCustomDevice(dockSn)) {
return;
}
Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(dockSn); Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(dockSn);
if (dockOpt.isEmpty() || DockModeCodeEnum.IDLE != deviceService.getDockMode(dockSn)) { if (dockOpt.isEmpty() || DockModeCodeEnum.IDLE != deviceService.getDockMode(dockSn)) {
throw new RuntimeException("The current state does not support takeoff."); throw new RuntimeException("The current state does not support takeoff.");
......
...@@ -10,6 +10,8 @@ import com.dji.sdk.cloudapi.device.OsdDockDrone; ...@@ -10,6 +10,8 @@ import com.dji.sdk.cloudapi.device.OsdDockDrone;
import java.util.Optional; import java.util.Optional;
import static com.dji.sample.common.util.DeviceUtil.isCustomDevice;
/** /**
* @author sean * @author sean
* @version 1.4 * @version 1.4
...@@ -69,6 +71,10 @@ public abstract class PayloadCommandsHandler { ...@@ -69,6 +71,10 @@ public abstract class PayloadCommandsHandler {
if (!valid()) { if (!valid()) {
throw new RuntimeException("illegal argument"); throw new RuntimeException("illegal argument");
} }
// 智测放行
if (isCustomDevice(dockSn)) {
return;
}
String deviceSn = checkDockOnline(dockSn); String deviceSn = checkDockOnline(dockSn);
checkDeviceOnline(deviceSn); checkDeviceOnline(deviceSn);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment