public ResponseEntity<List<String>> doGetAndUpdateUPSTracking() {
List<String> messages = Lists.newArrayList();
QVirtualBoxTracking vt = QVirtualBoxTracking.virtualBoxTracking;
QVirtualBox vb = QVirtualBox.virtualBox;
List<String> trackingNumbers = this.getAllOnWayUPSTrackingNumbers();
int size = 0;
try {
for (String trackingNumber : trackingNumbers) {
TrackingResult track = trackingService.track(trackingNumber);
if (track != null) {
dbHelper.delete(vt).where(vt.virtualBox.code.eq(trackingNumber)).execute();
for (PackageTrace trace : track.getTraces()) {
VirtualBoxTracking tracking = new VirtualBoxTracking();
tracking.setActivity(trace.getActivity());
tracking.setState(trace.getState());
tracking.setCountry(trace.getCountry());
tracking.setZipcode(trace.getZipcode());
tracking.setDateTime(trace.getDateTime());
tracking.setCity(trace.getCity());
tracking.setVirtualBox(dbHelper.from(vb).where(vb.code.eq(trackingNumber)).fetchOne());
dbHelper.save(tracking);
dbHelper.update(vb).set(vb.trackingUpdatedAt, LocalDateTime.now()).where(vb.code.eq(trackingNumber)).execute();
size++;
}
}
if (track.getEta() != null) {
dbHelper.update(vb).set(vb.eta, track.getEta()).where(vb.code.eq(trackingNumber)).execute();
}
}
} catch (Exception e) {
String error = String.format("更新失败, %s", e.getMessage());
log.error("更新失败,", e);
messages.add(error);
}
String info = String.format("更新 %s条UPS物流信息", size);
log.info(info);
messages.add(info);
return ResponseEntity.ok(messages);
}
加了这个不起作用
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();