refactor: route jt808 mileage through dedicated stream

This commit is contained in:
lingniu
2026-07-01 01:42:24 +08:00
parent c6a647ce36
commit b1190cd7c7
2 changed files with 36 additions and 7 deletions

View File

@@ -29,8 +29,10 @@ public final class VehicleStatEnvelopeIngestor implements EnvelopeIngestor {
if (!envelope.hasTelemetrySnapshot()) {
return;
}
if (processJt808Mileage(envelope)) {
return;
}
processor.process(envelope);
processJt808Mileage(envelope);
}
@Override
@@ -42,8 +44,10 @@ public final class VehicleStatEnvelopeIngestor implements EnvelopeIngestor {
return EnvelopeIngestResult.skipped(
envelope.getEventId(), envelope.getVin(), "envelope telemetry_snapshot is required");
}
if (processJt808Mileage(envelope)) {
return EnvelopeIngestResult.processed(envelope.getEventId(), envelope.getVin());
}
processor.process(envelope);
processJt808Mileage(envelope);
return EnvelopeIngestResult.processed(envelope.getEventId(), envelope.getVin());
} catch (IllegalArgumentException ex) {
return envelope == null
@@ -52,10 +56,12 @@ public final class VehicleStatEnvelopeIngestor implements EnvelopeIngestor {
}
}
private void processJt808Mileage(VehicleEnvelope envelope) {
if (jt808MileageProcessor != null) {
private boolean processJt808Mileage(VehicleEnvelope envelope) {
if (jt808MileageProcessor != null && "JT808".equalsIgnoreCase(envelope.getSource())) {
jt808MileageProcessor.process(envelope);
return true;
}
return false;
}
private static VehicleEnvelope parse(byte[] kafkaValue) {