shenyijian
2023-11-16 bf4990ffb53e2a0e7b2ec0c7a8a054bdf8a57db5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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);
    }
}