Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,6 @@ public class DiagnosticDocument {
@Column(name = "parkingPlaceID")
private Integer parkingPlaceID;

@Column(name = "vanSerialNo")
@Column(name = "vanSerialNo", updatable = false)
private Long vanSerialNo;
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,6 @@ public class DiagnosticOrder {
@Column(name = "processed")
private String processed = "N";

@Column(name = "vanSerialNo")
@Column(name = "vanSerialNo", updatable = false)
private Long vanSerialNo;
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,6 @@ public class DiagnosticProviderToken {
@Column(name = "parkingPlaceID")
private Integer parkingPlaceID;

@Column(name = "vanSerialNo")
@Column(name = "vanSerialNo", updatable = false)
private Long vanSerialNo;
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,6 @@ public class DiagnosticResult {
@Column(name = "parkingPlaceID")
private Integer parkingPlaceID;

@Column(name = "vanSerialNo")
@Column(name = "vanSerialNo", updatable = false)
private Long vanSerialNo;
}
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,6 @@ public class StopTBDiagnostics {
@Column(name = "processed")
private String processed = "N";

@Column(name = "vanSerialNo")
@Column(name = "vanSerialNo", updatable = false)
private Long vanSerialNo;
}
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,11 @@ public DiagnosticOrder createAndPushOrder(DiagnosticOrderRequestDto request) thr
}
throw dive;
}
// Stamp the sync key before the (possibly slow) vendor push, so a crash/restart mid-push can't leave it NULL.
if (order.getVanSerialNo() == null) {
diagnosticOrderRepo.updateVanSerialNo(order.getId());
order.setVanSerialNo(order.getId());
}

if (providerCode == null || providerCode.isBlank()) {
logger.info("No active vendor configured for orderType={}, beneficiaryId={} β€” order saved for manual entry",
Expand Down Expand Up @@ -338,7 +343,9 @@ public DiagnosticPollResult pollOnce(DiagnosticOrder order) throws Exception {
order.setStatus(DiagnosticOrderStatus.FAILED.name());
order.setErrorMessage("No push response recorded for this order β€” cannot poll");
order.setLastPolledAt(new Timestamp(System.currentTimeMillis()));
diagnosticOrderRepo.save(order);
order = diagnosticOrderRepo.save(order);
// The scheduler's copy may predate createAndPushOrder's updateVanSerialNo(); fill it if still missing.
if (order.getVanSerialNo() == null) diagnosticOrderRepo.updateVanSerialNo(order.getId());
return null;
}
DiagnosticProvider provider = providerFactory.getProvider(order.getProviderCode());
Expand Down
Loading