package com.dji.sample.manage.service.impl; import com.dji.sample.component.mqtt.model.CommonTopicReceiver; import com.dji.sample.component.websocket.config.ConcurrentWebSocketSession; import com.dji.sample.component.websocket.model.BizCodeEnum; import com.dji.sample.component.websocket.model.CustomWebSocketMessage; import com.dji.sample.manage.model.dto.DeviceDTO; import com.dji.sample.manage.model.dto.TelemetryDTO; import com.dji.sample.manage.model.enums.DeviceDomainEnum; import com.dji.sample.manage.model.receiver.OsdDockReceiver; import com.dji.sample.manage.model.receiver.OsdDockTransmissionReceiver; import org.springframework.stereotype.Service; import java.util.Collection; /** * @author sean * @version 1.0 * @date 2022/5/11 */ @Service public class DockOSDServiceImpl extends AbstractTSAService { public DockOSDServiceImpl() { super(null); } @Override public void pushTelemetryData(Collection sessions, CustomWebSocketMessage message, Object Object) { } @Override public void handleOSD(CommonTopicReceiver receiver, DeviceDTO device, Collection webSessions, CustomWebSocketMessage wsMessage) { if (DeviceDomainEnum.DOCK.getDesc().equals(device.getDomain())) { wsMessage.setBizCode(BizCodeEnum.DOCK_OSD.getCode()); OsdDockReceiver data = mapper.convertValue(receiver.getData(), OsdDockReceiver.class); wsMessage.getData().setHost(data); if (data.getSubDevice() == null) { OsdDockTransmissionReceiver transmission = mapper.convertValue(receiver.getData(), OsdDockTransmissionReceiver.class); wsMessage.getData().setHost(transmission); } sendMessageService.sendBatch(webSessions, wsMessage); } } }