| | |
| | | import com.ard.work.domain.dto.state.UavState; |
| | | import com.ard.work.domain.dto.telemetry.TelemetryData; |
| | | import com.ard.work.service.control.UavControlService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | |
| | | @Slf4j |
| | | @Component |
| | | public class UavAllManager extends BaseSubscriptionManager<Map<String,Object>> { |
| | | public class UavAllManager extends BaseSubscriptionManager<Map<String, Object>> { |
| | | |
| | | @Resource |
| | | private UavControlService uavControlService; |
| | | |
| | | @Override |
| | | protected Map<String,Object> getData(String boxSn) { |
| | | Map<String,Object> map=new HashMap<>(); |
| | | UavState uavState = UavStateCache.getUavState(boxSn); |
| | | if (uavState != null) { |
| | | uavState.calculateFieldAngle();// 计算当前无人机的FieldAngle |
| | | } |
| | | protected Map<String, Object> getData(String boxSn) { |
| | | log.debug("获取无人机所有数据"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("boxSn", boxSn); |
| | | UavState uavState = UavStateCache.get(boxSn); |
| | | map.put("state", uavState); |
| | | TelemetryData uavTelemetryData = UavTelemetryDataCache.getUavTelemetryData(boxSn); |
| | | TelemetryData uavTelemetryData = UavTelemetryDataCache.get(boxSn); |
| | | map.put("telemetry", uavTelemetryData); |
| | | SignalInfo uavSignalInfo = UavSignalInfoCache.getUavSignalInfo(boxSn); |
| | | SignalInfo uavSignalInfo = UavSignalInfoCache.get(boxSn); |
| | | map.put("signal", uavSignalInfo); |
| | | // 获取当前控制飞行的用户ID |
| | | Long flyUserId = uavControlService.getCurrentController(boxSn, "fly"); |