package com.dji.sample.interconnection.service.impl; import com.dji.sample.interconnection.model.CustomDataTransmissionToEsdkParam; import com.dji.sample.interconnection.model.CustomDataTransmissionToPsdkParam; import com.dji.sample.interconnection.service.InterconnectionService; import com.dji.sdk.cloudapi.interconnection.CustomDataTransmissionToEsdkRequest; import com.dji.sdk.cloudapi.interconnection.CustomDataTransmissionToPsdkRequest; import com.dji.sdk.cloudapi.livestream.api.AbstractLivestreamService; import com.dji.sdk.common.HttpResultResponse; import com.dji.sdk.common.SDKManager; import com.dji.sdk.mqtt.services.ServicesReplyData; import com.dji.sdk.mqtt.services.TopicServicesResponse; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * @author wmm * @version 0.1 * @date 2024/5/8 */ @Service @Slf4j public class InterconnectionServiceImpl implements InterconnectionService { @Autowired private SDKInterconnectionService interconnectionService; @Autowired private ObjectMapper mapper; @Override public HttpResultResponse customDataTransmissionToPsdk(String sn, CustomDataTransmissionToPsdkParam param) { TopicServicesResponse response = interconnectionService.customDataTransmissionToPsdk(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, CustomDataTransmissionToPsdkRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The custom data transmission to psdk failed to transmission. " + reply.getResult()); } @Override public HttpResultResponse customDataTransmissionToEsdk(String sn, CustomDataTransmissionToEsdkParam param) { TopicServicesResponse response = interconnectionService.customDataTransmissionToEsdk(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, CustomDataTransmissionToEsdkRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The custom data transmission to esdk failed to transmission. " + reply.getResult()); } }