package com.dji.sample.debug.service.impl; import com.dji.sample.debug.model.param.*; import com.dji.sample.debug.service.DebugService; import com.dji.sdk.cloudapi.debug.*; import com.dji.sdk.cloudapi.debug.api.AbstractDebugService; 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 DebugServiceImpl implements DebugService { @Autowired private AbstractDebugService abstractDebugService; @Autowired private ObjectMapper mapper; @Override public HttpResultResponse coverOpen(String sn) { TopicServicesResponse> response = abstractDebugService.coverOpen(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The cover failed to open. " + reply.getResult()); } @Override public HttpResultResponse coverClose(String sn) { TopicServicesResponse> response = abstractDebugService.coverClose(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The cover failed to close. " + reply.getResult()); } @Override public HttpResultResponse debugModeOpen(String sn) { TopicServicesResponse> response = abstractDebugService.debugModeOpen(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The debug mode failed to open. " + reply.getResult()); } @Override public HttpResultResponse debugModeClose(String sn) { TopicServicesResponse> response = abstractDebugService.debugModeClose(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The debug mode failed to close. " + reply.getResult()); } @Override public HttpResultResponse supplementLightOpen(String sn) { TopicServicesResponse> response = abstractDebugService.supplementLightOpen(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The supplementLight failed to open. " + reply.getResult()); } @Override public HttpResultResponse supplementLightClose(String sn) { TopicServicesResponse> response = abstractDebugService.supplementLightClose(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The supplementLight failed to close. " + reply.getResult()); } @Override public HttpResultResponse chargeOpen(String sn) { TopicServicesResponse> response = abstractDebugService.chargeOpen(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The charge failed to open. " + reply.getResult()); } @Override public HttpResultResponse chargeClose(String sn) { TopicServicesResponse> response = abstractDebugService.chargeClose(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The charge failed to close. " + reply.getResult()); } @Override public HttpResultResponse droneOpen(String sn) { TopicServicesResponse> response = abstractDebugService.droneOpen(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The drone failed to open. " + reply.getResult()); } @Override public HttpResultResponse droneClose(String sn) { TopicServicesResponse> response = abstractDebugService.droneClose(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The drone failed to close. " + reply.getResult()); } @Override public HttpResultResponse deviceFormat(String sn) { TopicServicesResponse> response = abstractDebugService.deviceFormat(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The device failed to format. " + reply.getResult()); } @Override public HttpResultResponse droneFormat(String sn) { TopicServicesResponse> response = abstractDebugService.droneFormat(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The drone failed to format. " + reply.getResult()); } @Override public HttpResultResponse deviceReboot(String sn) { TopicServicesResponse> response = abstractDebugService.deviceReboot(SDKManager.getDeviceSDK(sn)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The device failed to reboot. " + reply.getResult()); } @Override public HttpResultResponse batteryMaintenanceSwitch(String sn, BatteryMaintenanceSwitchParam param) { TopicServicesResponse> response = abstractDebugService.batteryMaintenanceSwitch(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, BatteryMaintenanceSwitchRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The battery maintenance failed to switch. " + reply.getResult()); } @Override public HttpResultResponse airConditionerModeSwitch(String sn, AirConditionerModeSwitchParam param) { TopicServicesResponse> response = abstractDebugService.airConditionerModeSwitch(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, AirConditionerModeSwitchRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The air conditioner mode failed to switch. " + reply.getResult()); } @Override public HttpResultResponse alarmStateSwitch(String sn, AlarmStateSwitchParam param) { TopicServicesResponse> response = abstractDebugService.alarmStateSwitch(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, AlarmStateSwitchRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The alarm state failed to switch. " + reply.getResult()); } @Override public HttpResultResponse batteryStoreModeSwitch(String sn, BatteryStoreModeSwitchParam param) { TopicServicesResponse> response = abstractDebugService.batteryStoreModeSwitch(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, BatteryStoreModeSwitchRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The battery store mode failed to switch. " + reply.getResult()); } @Override public HttpResultResponse sdrWorkmodeSwitch(String sn, SdrWorkmodeSwitchParam param) { TopicServicesResponse> response = abstractDebugService.sdrWorkmodeSwitch(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, SdrWorkmodeSwitchRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The sdr workmode failed to switch. " + reply.getResult()); } @Override public HttpResultResponse esimActivate(String sn, EsimActivateParam param) { TopicServicesResponse> response = abstractDebugService.esimActivate(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, EsimActivateRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The esim failed to activate. " + reply.getResult()); } @Override public HttpResultResponse simSlotSwitch(String sn, SimSlotSwitchParam param) { TopicServicesResponse> response = abstractDebugService.simSlotSwitch(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, SimSlotSwitchRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The sim slot failed to switch. " + reply.getResult()); } @Override public HttpResultResponse esimOperatorSwitch(String sn, EsimOperatorSwitchParam param) { TopicServicesResponse> response = abstractDebugService.esimOperatorSwitch(SDKManager.getDeviceSDK(sn),mapper.convertValue(param, EsimOperatorSwitchRequest.class)); ServicesReplyData reply = response.getData(); return reply.getResult().isSuccess() ? HttpResultResponse.success() : HttpResultResponse.error("The esim operator failed to switch. " + reply.getResult()); } }