修复更新通道状态回复不准的问题

This commit is contained in:
648540858
2022-04-18 12:55:54 +08:00
parent 596a633d2e
commit 20622d20d6
5 changed files with 30 additions and 4 deletions

View File

@@ -78,7 +78,6 @@ public class CatalogDataCatch {
public SyncStatus getSyncStatus(String deviceId) {
CatalogData catalogData = data.get(deviceId);
if (catalogData == null) return null;
if (catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end)) return null;
SyncStatus syncStatus = new SyncStatus();
syncStatus.setCurrent(catalogData.getChannelList().size());
syncStatus.setTotal(catalogData.getTotal());
@@ -86,6 +85,12 @@ public class CatalogDataCatch {
return syncStatus;
}
public boolean isSyncRunning(String deviceId) {
CatalogData catalogData = data.get(deviceId);
if (catalogData == null) return false;
return !catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end);
}
@Scheduled(fixedRate = 5 * 1000) //每5秒执行一次, 发现数据5秒未更新则移除数据并认为数据接收超时
private void timerTask(){
Set<String> keys = data.keySet();

View File

@@ -223,6 +223,14 @@ public class CatalogResponseMessageHandler extends SIPRequestProcessorParent imp
}
}
public boolean isSyncRunning(String deviceId) {
if (catalogDataCatch.get(deviceId) == null) {
return false;
}else {
return catalogDataCatch.isSyncRunning(deviceId);
}
}
public void setChannelSyncReady(Device device, int sn) {
catalogDataCatch.addReady(device, sn);
}