1、优化断点续传
This commit is contained in:
parent
d8951a9f25
commit
aaa1740f13
@ -76,10 +76,8 @@ public class MultiLineGNSSCalcService {
|
||||
}
|
||||
|
||||
// 处理d341
|
||||
logger.info(deviceId + " D342 msg time: " + msgTime);
|
||||
lastD342Time.createTime = msgTime;
|
||||
lastD342Time.uploadTime = LocalDateTime.now();
|
||||
logger.info(deviceId + " lastD342Time: " + lastD342Time.createTime);
|
||||
|
||||
for(BaseMessage message: d342Message.getMessageList()){
|
||||
D341LocationMessage d341Message = (D341LocationMessage)message;
|
||||
@ -147,7 +145,8 @@ public class MultiLineGNSSCalcService {
|
||||
d342SessionDone(deviceId,tenantId,lastD342Time.createTime);
|
||||
return null;
|
||||
}
|
||||
return lastD342Time.createTime;
|
||||
}
|
||||
return lastD342Time.createTime;
|
||||
else return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -72,6 +72,35 @@ public class SingleLineGNSSCalcService implements GNSSDataCalcService {
|
||||
|
||||
@Override
|
||||
public void calSingleDone(String deviceId, Integer tenantId, LocalDateTime resultTime) {
|
||||
executorService.schedule(() -> {
|
||||
try {
|
||||
calCycleResult(deviceId, tenantId, resultTime);
|
||||
} catch (Exception e) {
|
||||
logger.error(e.toString());
|
||||
}
|
||||
},50, TimeUnit.MILLISECONDS);
|
||||
|
||||
}
|
||||
|
||||
private void resultOutputTimer(String deviceId, Integer tenantId, LocalDateTime date){
|
||||
//40秒没数据后输出结果
|
||||
ScheduledFuture<?> future = timerMap.get(deviceId);
|
||||
if (future != null && !future.isDone()) {
|
||||
future.cancel(true);
|
||||
future = null;
|
||||
}
|
||||
|
||||
future = executorService.schedule(() -> {
|
||||
try {
|
||||
calCycleResult(deviceId, tenantId, date);
|
||||
} catch (Exception e) {
|
||||
logger.error(e.toString());
|
||||
}
|
||||
},40, TimeUnit.SECONDS);
|
||||
timerMap.put(deviceId, future);
|
||||
}
|
||||
|
||||
private void calCycleResult(String deviceId, Integer tenantId, LocalDateTime resultTime) {
|
||||
FocusCalculator1 focusCalculator = calculatorMap.get(deviceId);
|
||||
if(focusCalculator == null) return;
|
||||
// 1.检查b562有效数,如果过少,产生告警
|
||||
@ -128,24 +157,6 @@ public class SingleLineGNSSCalcService implements GNSSDataCalcService {
|
||||
|
||||
}
|
||||
|
||||
private void resultOutputTimer(String deviceId, Integer tenantId, LocalDateTime date){
|
||||
//40秒没数据后输出结果
|
||||
ScheduledFuture<?> future = timerMap.get(deviceId);
|
||||
if (future != null && !future.isDone()) {
|
||||
future.cancel(true);
|
||||
future = null;
|
||||
}
|
||||
|
||||
future = executorService.schedule(() -> {
|
||||
try {
|
||||
calSingleDone(deviceId, tenantId, date);
|
||||
} catch (Exception e) {
|
||||
logger.error(e.toString());
|
||||
}
|
||||
},40, TimeUnit.SECONDS);
|
||||
timerMap.put(deviceId, future);
|
||||
}
|
||||
|
||||
private void postLocationRecord(String deviceId, double[] b562Result, double[] r9250Result, double[] result,
|
||||
LocalDateTime resultTime, int delay, boolean isShocked) {
|
||||
GnssCalcData locationRecord = new GnssCalcData();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user