处理机场飞行控制数据
This commit is contained in:
parent
3f15e9f3ed
commit
2348168502
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue