优化脚本

This commit is contained in:
孙小云 2026-02-09 08:58:24 +08:00
parent 422930b264
commit ae6b8bcc93
1 changed files with 7 additions and 6 deletions

View File

@ -387,10 +387,7 @@ public class SynService {
log.warn("机场 {} 没有 sub_device.device_sn 属性,无法建立机场-无人机关联", deviceName); log.warn("机场 {} 没有 sub_device.device_sn 属性,无法建立机场-无人机关联", deviceName);
} }
} else if (deviceType == DeviceType.AIRCRAFT) { } else if (deviceType == DeviceType.AIRCRAFT) {
// 无人机同步无人机表 // 无人机先检查是否有 dock_sn 属性
syncAircraft(deviceId, deviceName);
// 获取无人机所属的机场SN号
Optional<String> dockSnOpt = attributes.get(DeviceAttributes.DOCK_SN); Optional<String> dockSnOpt = attributes.get(DeviceAttributes.DOCK_SN);
if (dockSnOpt.isPresent() && StringUtils.hasText(dockSnOpt.get())) { if (dockSnOpt.isPresent() && StringUtils.hasText(dockSnOpt.get())) {
String dockSn = dockSnOpt.get(); String dockSn = dockSnOpt.get();
@ -400,13 +397,17 @@ public class SynService {
Device dockDevice = findDeviceBySn(dockSn); Device dockDevice = findDeviceBySn(dockSn);
if (dockDevice != null) { if (dockDevice != null) {
log.info("找到机场设备: dockSn={}, deviceId={}", dockSn, dockDevice.getDeviceId()); log.info("找到机场设备: dockSn={}, deviceId={}", dockSn, dockDevice.getDeviceId());
// 只有在找到机场的情况下才同步无人机表
syncAircraft(deviceId, deviceName);
// 建立机场-无人机关联 // 建立机场-无人机关联
syncDockAircraft(dockDevice.getDeviceId(), deviceId); syncDockAircraft(dockDevice.getDeviceId(), deviceId);
} else { } else {
log.warn("未找到机场设备: dockSn={}, 可能机场尚未同步", dockSn); log.warn("未找到机场设备: dockSn={}, 跳过无人机同步,避免产生脏数据", dockSn);
} }
} else { } else {
log.warn("无人机 {} 没有 dock_sn 属性,无法建立机场-无人机关联", deviceName); log.warn("无人机 {} 没有 dock_sn 属性,跳过同步,避免产生脏数据", deviceName);
} }
} }
// 网关类型不需要额外处理 // 网关类型不需要额外处理