package com.dji.sample.manage.controller; import com.dji.sample.component.mqtt.model.ChannelName; import com.dji.sample.manage.model.receiver.DeviceBasicReceiver; import com.dji.sample.manage.service.IDevicePayloadService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.annotation.ServiceActivator; import org.springframework.messaging.MessageHeaders; import org.springframework.web.bind.annotation.RestController; /** * @author sean.zhou * @date 2021/11/19 * @version 0.1 */ @RestController public class DevicePayloadController { @Autowired private IDevicePayloadService devicePayloadService; /** * Handles messages in the state topic about basic drone data. * * Note: Only the data of the drone payload is handled here. You can handle other data from the drone * according to your business needs. * @param deviceBasic basic drone data * @param headers */ @ServiceActivator(inputChannel = ChannelName.INBOUND_STATE_BASIC) public void stateBasic(DeviceBasicReceiver deviceBasic, MessageHeaders headers) { devicePayloadService.saveDeviceBasicPayload(deviceBasic.getPayloads(), headers.getTimestamp()); } }