处理机场飞行控制数据

This commit is contained in:
孙小云 2026-02-28 10:05:38 +08:00
parent 3f15e9f3ed
commit 2348168502
3 changed files with 5 additions and 35 deletions

View File

@ -12,14 +12,6 @@ import java.util.Map;
*/ */
public interface FlightService public interface FlightService
{ {
/**
* 获取或创建当前正在进行的飞行记录
* 用于MQTT回调如果最新记录已返航则创建新记录
*
* @param deviceSn 设备SN号
* @return 飞行记录
*/
FlightEntity getOrCreateCurrentFlight(String deviceSn);
/** /**
* 获取或创建飞行记录通过messageID匹配 * 获取或创建飞行记录通过messageID匹配
@ -41,13 +33,6 @@ public interface FlightService
*/ */
FlightEntity getLatestFlight(String deviceSn); FlightEntity getLatestFlight(String deviceSn);
/**
* 创建新的飞行记录
*
* @param deviceSn 设备SN号
* @return 飞行记录
*/
FlightEntity createFlight(String deviceSn);
/** /**
* 更新飞行ID外部ID * 更新飞行ID外部ID

View File

@ -37,16 +37,7 @@ public class FlightServiceImpl implements FlightService
@Autowired @Autowired
private FlightLogMapper flightLogMapper; private FlightLogMapper flightLogMapper;
@Override
public FlightEntity getOrCreateCurrentFlight(String deviceSn) {
FlightEntity flight = flightMapper.selectLatestFlightByDeviceSn(deviceSn);
if (flight == null || "已返航".equals(flight.getStatus())) {
flight = createFlight(deviceSn);
}
return flight;
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -79,16 +70,7 @@ public class FlightServiceImpl implements FlightService
return flightMapper.selectLatestFlightByDeviceSn(deviceSn); return flightMapper.selectLatestFlightByDeviceSn(deviceSn);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public FlightEntity createFlight(String deviceSn) {
FlightEntity flight = new FlightEntity();
flight.setDeviceSn(deviceSn);
flight.setStatus("自检中");
flightMapper.insertFlight(flight);
log.info("创建新的飞行记录: deviceSn={}, flightId={}", deviceSn, flight.getFlightId());
return flight;
}
@Override @Override
public void updateFlightIdExternal(Long flightId, String flightIdExternal) { public void updateFlightIdExternal(Long flightId, String flightIdExternal) {
@ -104,7 +86,7 @@ public class FlightServiceImpl implements FlightService
flightMapper.updateFlightStatus(flightId, status); flightMapper.updateFlightStatus(flightId, status);
log.info("更新飞行状态: flightId={}, status={}", flightId, status); log.info("更新飞行状态: flightId={}, status={}", flightId, status);
if ("已返航".equals(status)) { if ("HOME".equals(status) ||"ERROR".equals(status)) {
flightMapper.updateReturnTime(flightId); flightMapper.updateReturnTime(flightId);
log.info("更新返航时间: flightId={}", flightId); log.info("更新返航时间: flightId={}", flightId);
} }

View File

@ -12,6 +12,7 @@ import org.springframework.stereotype.Component;
import jakarta.websocket.*; import jakarta.websocket.*;
import jakarta.websocket.server.PathParam; import jakarta.websocket.server.PathParam;
import jakarta.websocket.server.ServerEndpoint; import jakarta.websocket.server.ServerEndpoint;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
@ -94,4 +95,6 @@ public class PreCheckLogWebSocket {
ws.sendMessage(JSON.toJSONString(flightData)); ws.sendMessage(JSON.toJSONString(flightData));
} }
} }
} }