xieb
2023-10-17 e60ea14897e4512efe505b8b3aea7cb2e49df39f
src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java
@@ -137,7 +137,7 @@
        Optional<DeviceDTO> deviceOpt = deviceRedisService.getDeviceOnline(sn);
        if (deviceOpt.isEmpty()) {
            throw new RuntimeException("The device is offline.");
            throw new RuntimeException("设备离线.");
        }
        DeviceDTO device = deviceOpt.get();
@@ -151,12 +151,12 @@
        // TODO 设备固件版本不兼容情况
        Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(dockSn);
        if (dockOpt.isEmpty()) {
            throw new RuntimeException("The dock is offline, please restart the dock.");
            throw new RuntimeException("机场离线请重启机场");
        }
        DeviceModeCodeEnum deviceMode = deviceService.getDeviceMode(dockOpt.get().getChildDeviceSn());
        if (DeviceModeCodeEnum.MANUAL != deviceMode) {
            throw new RuntimeException("The current state of the drone does not support this function, please try again later.");
            throw new RuntimeException("无人机当前状态不支持此功能,请稍后再试");
        }
        ResponseResult result = seizeAuthority(dockSn, DroneAuthorityEnum.FLIGHT, null);
@@ -172,7 +172,7 @@
        param.setFlyToId(UUID.randomUUID().toString());
        ServiceReply reply = messageSenderService.publishServicesTopic(sn, DroneControlMethodEnum.FLY_TO_POINT.getMethod(), param, param.getFlyToId());
        return ResponseResult.CODE_SUCCESS != reply.getResult() ?
                ResponseResult.error("Flying to the target point failed." + reply.getResult())
                ResponseResult.error("飞向目标点失败。" + reply.getResult())
                : ResponseResult.success();
    }
@@ -180,7 +180,7 @@
    public ResponseResult flyToPointStop(String sn) {
        ServiceReply reply = messageSenderService.publishServicesTopic(sn, DroneControlMethodEnum.FLY_TO_POINT_STOP.getMethod(), null);
        return ResponseResult.CODE_SUCCESS != reply.getResult() ?
                ResponseResult.error("The drone flying to the target point failed to stop. " + reply.getResult())
                ResponseResult.error("飞向目标点的无人机停止失败" + reply.getResult())
                : ResponseResult.success();
    }
@@ -190,7 +190,7 @@
        Optional<DeviceDTO> deviceOpt = deviceRedisService.getDeviceOnline(dockSn);
        if (deviceOpt.isEmpty()) {
            log.error("The dock is offline.");
            log.error("机场离线");
            return null;
        }
@@ -208,7 +208,7 @@
    private void checkTakeoffCondition(String dockSn) {
        Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(dockSn);
        if (dockOpt.isEmpty() || DockModeCodeEnum.IDLE != deviceService.getDockMode(dockSn)) {
            throw new RuntimeException("The current state does not support takeoff.");
            throw new RuntimeException("当前状态不支持起飞");
        }
        ResponseResult result = seizeAuthority(dockSn, DroneAuthorityEnum.FLIGHT, null);
@@ -225,7 +225,7 @@
        param.setFlightId(UUID.randomUUID().toString());
        ServiceReply reply = messageSenderService.publishServicesTopic(sn, DroneControlMethodEnum.TAKE_OFF_TO_POINT.getMethod(), param, param.getFlightId());
        return ResponseResult.CODE_SUCCESS != reply.getResult() ?
                ResponseResult.error("The drone failed to take off. " + reply.getResult())
                ResponseResult.error("无人机起飞失败 " + reply.getResult())
                : ResponseResult.success();
    }
@@ -235,7 +235,7 @@
        Optional<DeviceDTO> deviceOpt = deviceRedisService.getDeviceOnline(dockSn);
        if (deviceOpt.isEmpty()) {
            log.error("The dock is offline.");
            log.error("机场离线");
            return null;
        }
        TakeoffProgressReceiver eventsReceiver = mapper.convertValue(receiver.getData(), new TypeReference<TakeoffProgressReceiver>(){});
@@ -272,14 +272,14 @@
        }
        ServiceReply serviceReply = messageSenderService.publishServicesTopic(sn, method, param);
        return ResponseResult.CODE_SUCCESS != serviceReply.getResult() ?
                ResponseResult.error(serviceReply.getResult(), "Method: " + method + " Error Code:" + serviceReply.getResult())
                ResponseResult.error(serviceReply.getResult(), "方法: " + method + " 错误码:" + serviceReply.getResult())
                : ResponseResult.success();
    }
    private Boolean checkPayloadAuthority(String sn, String payloadIndex) {
        Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(sn);
        if (dockOpt.isEmpty()) {
            throw new RuntimeException("The dock is offline, please restart the dock.");
            throw new RuntimeException("机场离线请重启机场");
        }
        return devicePayloadService.checkAuthorityPayload(dockOpt.get().getChildDeviceSn(), payloadIndex);
    }
@@ -294,7 +294,7 @@
        ServiceReply serviceReply = messageSenderService.publishServicesTopic(param.getSn(), param.getCmd().getCmd(), param.getData());
        return ResponseResult.CODE_SUCCESS != serviceReply.getResult() ?
                ResponseResult.error(serviceReply.getResult(), " Error Code:" + serviceReply.getResult())
                ResponseResult.error(serviceReply.getResult(), "错误码:" + serviceReply.getResult())
                : ResponseResult.success();
    }
@@ -302,7 +302,7 @@
    public ResponseResult requestsConfig(String sn,String method, RequestsParam param) {
        ServiceReply serviceReply = messageSenderService.publishRequestsTopic(sn, method, param);
        return ResponseResult.CODE_SUCCESS != serviceReply.getResult() ?
                ResponseResult.error(serviceReply.getResult(), " Error Code:" + serviceReply.getResult())
                ResponseResult.error(serviceReply.getResult(), "错误码:" + serviceReply.getResult())
                : ResponseResult.success();
    }