package com.dji.sample.control.model.dto;
|
|
import com.dji.sample.common.util.SpringBeanUtilsTest;
|
import com.dji.sample.control.service.impl.RemoteDebugHandler;
|
import com.dji.sample.manage.model.dto.DeviceDTO;
|
import com.dji.sample.manage.service.IDeviceRedisService;
|
import com.dji.sdk.cloudapi.device.DroneModeCodeEnum;
|
import com.dji.sdk.cloudapi.device.OsdDockDrone;
|
|
/**
|
* @author sean
|
* @version 1.4
|
* @date 2023/4/19
|
*/
|
|
public class ReturnHomeCancelState extends RemoteDebugHandler {
|
|
@Override
|
public boolean canPublish(String sn) {
|
IDeviceRedisService deviceRedisService = SpringBeanUtilsTest.getBean(IDeviceRedisService.class);
|
return deviceRedisService.getDeviceOnline(sn)
|
.map(DeviceDTO::getChildDeviceSn)
|
.flatMap(deviceSn -> deviceRedisService.getDeviceOsd(deviceSn, OsdDockDrone.class))
|
.map(osd -> DroneModeCodeEnum.RETURN_AUTO == osd.getModeCode())
|
.orElse(false);
|
}
|
|
}
|