Compare commits

..

No commits in common. "5d4403f55c4337c56f650ff8a9e77ee35f3d17b7" and "9df90b97c46a70fb927992e5ea8ca961972cd77b" have entirely different histories.

3 changed files with 19 additions and 19 deletions

View File

@ -27,7 +27,7 @@ import java.util.regex.Pattern;
public class TuohengMqttMessageHandler {
private final ObjectMapper objectMapper = new ObjectMapper();
private MqttCallbackRegistry machineCallBackRegistry;
private MqttCallbackRegistry mqttCallbackRegistry;
private final List<ITuohengRealTimeDataCallback> realTimeDataCallbacks = new ArrayList<>();
private final List<ITuohengOsdCallback> osdCallbacks = new ArrayList<>();
@ -35,16 +35,16 @@ public class TuohengMqttMessageHandler {
private final List<IRealTimeBasicCallback> realTimeBasicCallbacks = new ArrayList<>();
private final List<IDroneRealTimeCallback> droneRealTimeCallbacks = new ArrayList<>();
private final List<IHeartbeatMessageCallback> heartbeatMessageCallbacks = new ArrayList<>();
private final List<IAirportFlyControlDataCallback> airportFlyControlDataCallbacks = new ArrayList<>();
private final List<com.ruoyi.device.domain.impl.tuohengmqtt.callback.IAirportFlyControlDataCallback> airportFlyControlDataCallbacks = new ArrayList<>();
private static final Pattern TUOHENG_SN_PATTERN = Pattern.compile("^TH[0-9A-Z]+");
/**
* 设置 MQTT 回调注册中心
*/
public void setMachineCallBackRegistry(MqttCallbackRegistry machineCallBackRegistry) {
this.machineCallBackRegistry = machineCallBackRegistry;
log.info("设置 machineCallBackRegistry 成功");
public void setMqttCallbackRegistry(MqttCallbackRegistry mqttCallbackRegistry) {
this.mqttCallbackRegistry = mqttCallbackRegistry;
log.info("设置 MqttCallbackRegistry 成功");
}
public void registerRealTimeDataCallback(ITuohengRealTimeDataCallback callback) {
@ -101,21 +101,21 @@ public class TuohengMqttMessageHandler {
log.debug("收到MQTT消息 - Topic: {}", topic);
// 如果是 confirm 消息打印详细日志
// if (topic.contains("/control/confirm")) {
// log.info("【收到confirm消息】Topic: {}, Payload: {}", topic, payload);
// }
if (topic.contains("/control/confirm")) {
log.info("【收到confirm消息】Topic: {}, Payload: {}", topic, payload);
}
// 通知 MqttCallbackRegistry 处理回调用于指令回调
if (machineCallBackRegistry != null) {
if (mqttCallbackRegistry != null) {
try {
// payload 解析为 JSON 对象传递给回调注册中心
Object messageBody = objectMapper.readValue(payload, Object.class);
machineCallBackRegistry.handleMessage(topic, messageBody);
mqttCallbackRegistry.handleMessage(topic, messageBody);
// // 如果是 confirm 消息打印回调处理结果
// if (topic.contains("/control/confirm")) {
// log.info("【confirm消息已传递给回调注册中心】Topic: {}", topic);
// }
// 如果是 confirm 消息打印回调处理结果
if (topic.contains("/control/confirm")) {
log.info("【confirm消息已传递给回调注册中心】Topic: {}", topic);
}
} catch (Exception e) {
log.debug("通知回调注册中心失败: {}", e.getMessage());
}
@ -270,7 +270,7 @@ public class TuohengMqttMessageHandler {
try {
log.debug("处理机场飞行控制数据 - 设备SN: {}, Topic: {}", deviceSn, topic);
for (IAirportFlyControlDataCallback callback : airportFlyControlDataCallbacks) {
for (com.ruoyi.device.domain.impl.tuohengmqtt.callback.IAirportFlyControlDataCallback callback : airportFlyControlDataCallbacks) {
try {
callback.onAirportFlyControlData(deviceSn, payload, topic);
} catch (Exception e) {

View File

@ -32,17 +32,16 @@ public class FlightLogCallback implements IDroneRealTimeCallback {
@Override
public void onDroneRealTimeData(String deviceSn, DroneRealTimeData data) {
log.info("处理实时消息: deviceSn={}, DroneRealTimeData={}", deviceSn, JSON.toJSONString(data));
if (data == null || data.getData() == null) {
return;
}
log.info("处理实时消息: deviceSn={}, messageId={} data={}", deviceSn, data.getMessageID(),JSON.toJSONString(data.getData()));
DroneRealTimeData.DroneInfo droneInfo = data.getData();
try {
if (droneInfo.getJiancha() != null && !droneInfo.getJiancha().isEmpty()) {
log.info("处理实时自检消息: deviceSn={}, messageId={}, checkBody={}", deviceSn, data.getMessageID(),data.getData().getJiancha());
handlePreCheckLog(deviceSn, data.getMessageID(), droneInfo.getJiancha());
}
} catch (Exception e) {

View File

@ -12,6 +12,7 @@ import com.ruoyi.device.domain.impl.machine.state.AirportState;
import com.ruoyi.device.domain.impl.machine.state.MachineStates;
import com.ruoyi.device.domain.impl.machine.statemachine.MachineStateManager;
import com.ruoyi.device.domain.impl.tuohengmqtt.callback.IRealTimeBasicCallback;
import com.ruoyi.device.domain.impl.tuohengmqtt.callback.IAirportFlyControlDataCallback;
import com.ruoyi.device.domain.impl.tuohengmqtt.callback.ITuohengEventsCallback;
import com.ruoyi.device.domain.impl.tuohengmqtt.callback.ITuohengOsdCallback;
import com.ruoyi.device.domain.impl.tuohengmqtt.callback.ITuohengRealTimeDataCallback;
@ -99,7 +100,7 @@ public class TuohengService {
TuohengMqttMessageHandler handler = clientManager.getHandler();
// 设置 MqttCallbackRegistry handler用于指令回调
handler.setMachineCallBackRegistry(mqttCallbackRegistry);
handler.setMqttCallbackRegistry(mqttCallbackRegistry);
Map<String, String> mapping = loadAirportDroneMapping();