This commit is contained in:
parent
86b7ffe93d
commit
392add0212
|
|
@ -197,10 +197,15 @@ public class SynService {
|
||||||
syncTuohengDevice(childDeviceInfo, gatewayInfo.getId());
|
syncTuohengDevice(childDeviceInfo, gatewayInfo.getId());
|
||||||
} else {
|
} else {
|
||||||
// 大疆设备处理逻辑(原有逻辑)
|
// 大疆设备处理逻辑(原有逻辑)
|
||||||
|
log.info("检测到大疆设备: {}", deviceName);
|
||||||
AttributeMap attributes = iThingsBoardDomain.getPredefinedDeviceAttributes(childDeviceId);
|
AttributeMap attributes = iThingsBoardDomain.getPredefinedDeviceAttributes(childDeviceId);
|
||||||
|
log.info("大疆设备 {} 的属性: {}", deviceName, attributes);
|
||||||
DeviceType deviceType = determineDeviceType(childDeviceInfo, attributes);
|
DeviceType deviceType = determineDeviceType(childDeviceInfo, attributes);
|
||||||
|
log.info("大疆设备 {} 的类型: {}", deviceName, deviceType);
|
||||||
Long deviceId = syncDevice(childDeviceInfo, deviceType, gatewayInfo.getId());
|
Long deviceId = syncDevice(childDeviceInfo, deviceType, gatewayInfo.getId());
|
||||||
|
log.info("大疆设备 {} 同步到device表,deviceId={}", deviceName, deviceId);
|
||||||
syncDeviceByType(deviceId, childDeviceInfo.getName(), deviceType, attributes);
|
syncDeviceByType(deviceId, childDeviceInfo.getName(), deviceType, attributes);
|
||||||
|
log.info("大疆设备 {} 同步完成", deviceName);
|
||||||
}
|
}
|
||||||
|
|
||||||
totalCount++;
|
totalCount++;
|
||||||
|
|
@ -259,6 +264,25 @@ public class SynService {
|
||||||
} else if (deviceType == DeviceType.AIRCRAFT) {
|
} else if (deviceType == DeviceType.AIRCRAFT) {
|
||||||
// 无人机:同步无人机表
|
// 无人机:同步无人机表
|
||||||
syncAircraft(deviceId, deviceName);
|
syncAircraft(deviceId, deviceName);
|
||||||
|
|
||||||
|
// 获取无人机所属的机场SN号
|
||||||
|
Optional<String> dockSnOpt = attributes.get(DeviceAttributes.DOCK_SN);
|
||||||
|
if (dockSnOpt.isPresent() && StringUtils.hasText(dockSnOpt.get())) {
|
||||||
|
String dockSn = dockSnOpt.get();
|
||||||
|
log.info("无人机 {} 尝试查找所属机场: dockSn={}", deviceName, dockSn);
|
||||||
|
|
||||||
|
// 通过机场SN号查找机场设备
|
||||||
|
Device dockDevice = findDeviceBySn(dockSn);
|
||||||
|
if (dockDevice != null) {
|
||||||
|
log.info("找到机场设备: dockSn={}, deviceId={}", dockSn, dockDevice.getDeviceId());
|
||||||
|
// 建立机场-无人机关联
|
||||||
|
syncDockAircraft(dockDevice.getDeviceId(), deviceId);
|
||||||
|
} else {
|
||||||
|
log.warn("未找到机场设备: dockSn={}, 可能机场尚未同步", dockSn);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.warn("无人机 {} 没有 dock_sn 属性,无法建立机场-无人机关联", deviceName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 网关类型不需要额外处理
|
// 网关类型不需要额外处理
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue