package com.dji.sample.control.model.dto;
|
|
import com.dji.sample.common.util.SpringBeanUtils;
|
import com.dji.sample.control.service.impl.RemoteDebugHandler;
|
import com.dji.sample.manage.model.dto.DeviceDTO;
|
import com.dji.sample.manage.model.receiver.OsdSubDeviceReceiver;
|
import com.dji.sample.manage.service.IDeviceRedisService;
|
|
/**
|
* @author sean
|
* @version 1.4
|
* @date 2023/4/19
|
*/
|
|
public class ReturnHomeState extends RemoteDebugHandler {
|
|
@Override
|
public boolean canPublish(String sn) {
|
IDeviceRedisService deviceRedisService = SpringBeanUtils.getBean(IDeviceRedisService.class);
|
return deviceRedisService.getDeviceOnline(sn)
|
.map(DeviceDTO::getChildDeviceSn)
|
.flatMap(deviceSn -> deviceRedisService.getDeviceOsd(deviceSn, OsdSubDeviceReceiver.class))
|
.map(OsdSubDeviceReceiver::getElevation)
|
.map(elevation -> elevation > 0)
|
.orElse(false);
|
}
|
}
|