This commit is contained in:
parent
b3bcaa89d1
commit
bc3b043b45
|
|
@ -37,16 +37,21 @@ public class DjiMqttMessageHandler {
|
|||
private final List<IDockDataCallback> dockDataCallbacks = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* 无人机SN正则表达式(只匹配以158开头的SN)
|
||||
* 示例:1581F6Q8X251C00G04H8, 1581F6Q8D247C00GE3KQ
|
||||
* 无人机SN正则表达式(只匹配大疆THJS开头的SN)
|
||||
* 示例:THJSY03A2308YCMFPB11-AIRCRAFT
|
||||
*/
|
||||
private static final Pattern DRONE_SN_PATTERN = Pattern.compile("^158[0-9A-Z]+$");
|
||||
private static final Pattern DRONE_SN_PATTERN = Pattern.compile("^THJS[0-9A-Z]+");
|
||||
|
||||
/**
|
||||
* 机场SN正则表达式(只匹配以7C开头的SN)
|
||||
* 示例:7CTXN5K00B0AXM
|
||||
* 机场SN正则表达式(只匹配大疆THJS开头的SN)
|
||||
* 示例:THJSY03A2308YCMFPB11
|
||||
*/
|
||||
private static final Pattern DOCK_SN_PATTERN = Pattern.compile("^7C[0-9A-Z]+$");
|
||||
private static final Pattern DOCK_SN_PATTERN = Pattern.compile("^THJS[0-9A-Z]+");
|
||||
|
||||
/**
|
||||
* 拓恒设备SN前缀(需要过滤)
|
||||
*/
|
||||
private static final Pattern TUOHENG_SN_PATTERN = Pattern.compile("^(7C|158)[0-9A-Z]+$");
|
||||
|
||||
/**
|
||||
* 注册无人机数据回调
|
||||
|
|
@ -91,6 +96,11 @@ public class DjiMqttMessageHandler {
|
|||
return;
|
||||
}
|
||||
|
||||
if (isTuohengSn(deviceSn)) {
|
||||
log.debug("跳过拓恒设备消息 - SN: {}", deviceSn);
|
||||
return;
|
||||
}
|
||||
|
||||
// 解析JSON消息
|
||||
@SuppressWarnings("unchecked")
|
||||
DjiMqttMessage<Map<String, Object>> message = objectMapper.readValue(
|
||||
|
|
@ -215,4 +225,15 @@ public class DjiMqttMessageHandler {
|
|||
Matcher matcher = DOCK_SN_PATTERN.matcher(sn);
|
||||
return matcher.matches();
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否为拓恒设备SN
|
||||
*/
|
||||
private boolean isTuohengSn(String sn) {
|
||||
if (sn == null) {
|
||||
return false;
|
||||
}
|
||||
Matcher matcher = TUOHENG_SN_PATTERN.matcher(sn);
|
||||
return matcher.matches();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue