修改日志

This commit is contained in:
孙小云 2026-03-20 11:41:13 +08:00
parent ecb005c68d
commit 564df1c657
2 changed files with 30 additions and 0 deletions

View File

@ -63,6 +63,11 @@ public class TuohengVendorConfig implements VendorConfig {
// DroneState.POWER_OFF 需要关机; AirportState.ONLINE 判断来自于 /topic/v1/heartbeat/{sn}/message
return droneState == DroneState.POWER_OFF && airportState == AirportState.ONLINE;
case CLOSE_COVER:
// 这边缺控制,后面要加
return true;
case RETURN_HOME:
// 返航前置条件无人机飞行中
return true;

View File

@ -1,9 +1,14 @@
package com.ruoyi.device.websocket;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.device.mapper.entity.FlightLogEntity;
import com.ruoyi.device.mapper.entity.PreCheckLogEntity;
import com.ruoyi.device.service.FlightService;
import com.ruoyi.task.api.RemoteTaskService;
import com.ruoyi.task.api.domain.TaskVO;
import com.ruoyi.task.api.enums.StatusEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@ -15,6 +20,7 @@ import jakarta.websocket.server.ServerEndpoint;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArraySet;
@ -38,6 +44,9 @@ public class PreCheckLogWebSocket {
private static FlightService flightService;
@Autowired
private RemoteTaskService remoteTaskService;
@Autowired
public void setFlightService(FlightService flightService) {
PreCheckLogWebSocket.flightService = flightService;
@ -87,6 +96,22 @@ public class PreCheckLogWebSocket {
@Scheduled(fixedRate = 3000)
public void broadcast() {
for (PreCheckLogWebSocket ws : sessions) {
R<TaskVO> taskVOR = remoteTaskService.getCurrentTaskByUavId(ws.deviceSn, SecurityConstants.INNER);
if(Objects.nonNull(taskVOR) && Objects.nonNull(taskVOR.getData())){
TaskVO taskVO = taskVOR.getData();
if(Objects.equals(true,taskVO.getRecovery())){
continue;
}
if(taskVO.getStatus() == StatusEnum.PENDING || taskVO.getStatus() == StatusEnum.CANCELED
|| taskVO.getStatus() == StatusEnum.COMPLETED){
continue;
}
}
Map<String, Object> flightData = flightService.getLatestFlightWithLogs(ws.deviceSn);
if (flightData == null) {
continue;