sean.zhou
2022-12-12 2d8ded3e77b22e44985265ca4063102662e452c1
src/main/java/com/dji/sample/manage/service/IDeviceService.java
@@ -1,18 +1,24 @@
package com.dji.sample.manage.service;
import com.dji.sample.common.model.PaginationData;
import com.dji.sample.common.model.ResponseResult;
import com.dji.sample.component.mqtt.model.CommonTopicReceiver;
import com.dji.sample.component.mqtt.model.CommonTopicResponse;
import com.dji.sample.component.websocket.config.ConcurrentWebSocketSession;
import com.dji.sample.manage.model.dto.DeviceDTO;
import com.dji.sample.manage.model.dto.DeviceFirmwareUpgradeDTO;
import com.dji.sample.manage.model.dto.TopologyDeviceDTO;
import com.dji.sample.manage.model.enums.DeviceSetPropertyEnum;
import com.dji.sample.manage.model.param.DeviceQueryParam;
import com.dji.sample.manage.model.receiver.FirmwareVersionReceiver;
import com.dji.sample.manage.model.receiver.StatusGatewayReceiver;
import com.fasterxml.jackson.databind.JsonNode;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
@@ -31,10 +37,10 @@
    /**
     * The device goes offline.
     * @param gatewaySn
     * @param gateway
     * @return Whether the offline is successful.
     */
    Boolean deviceOffline(String gatewaySn);
    Boolean deviceOffline(StatusGatewayReceiver gateway);
    /**
     * The aircraft goes offline.
@@ -131,10 +137,9 @@
    /**
     * Handle messages from the osd topic.
     * @param topic     osd
     * @param payload
     * @param message     osd
     */
    void handleOSD(String topic, byte[] payload);
    void handleOSD(Message<?> message);
    /**
     * Update the device information.
@@ -195,4 +200,36 @@
     * @param receiver
     */
    void updateFirmwareVersion(FirmwareVersionReceiver receiver);
    /**
     * Create job for device firmware updates.
     * @param workspaceId
     * @param upgradeDTOS
     * @return
     */
    ResponseResult createDeviceOtaJob(String workspaceId, List<DeviceFirmwareUpgradeDTO> upgradeDTOS);
    /**
     * Set the property parameters of the drone.
     * @param workspaceId
     * @param dockSn
     * @param propertyEnum
     * @param param
     */
    void devicePropertySet(String workspaceId, String dockSn, DeviceSetPropertyEnum propertyEnum, JsonNode param);
    /**
     * Set one property parameters of the drone.
     * @param topic
     * @param propertyEnum
     * @param value
     */
    void deviceOnePropertySet(String topic, DeviceSetPropertyEnum propertyEnum, Map.Entry<String, Object> value);
    /**
     * Determine if the device is online.
     * @param sn
     * @return
     */
    Boolean checkDeviceOnline(String sn);
}