bugfix:编辑国标设备时,若目录订阅周期本来不为0时不生效

pull/1132/head
lishuyuan 2023-10-27 11:15:30 +08:00
parent 26ca854db5
commit da7889bf67
2 changed files with 13 additions and 11 deletions

View File

@ -89,17 +89,17 @@ public class CatalogSubscribeTask implements ISubscribeTask {
ResponseEvent event = (ResponseEvent) eventResult.event; ResponseEvent event = (ResponseEvent) eventResult.event;
if (event.getResponse().getRawContent() != null) { if (event.getResponse().getRawContent() != null) {
// 成功 // 成功
logger.info("[取消目录订阅订阅]成功: {}", device.getDeviceId()); logger.info("[取消目录订阅]成功: {}", device.getDeviceId());
}else { }else {
// 成功 // 成功
logger.info("[取消目录订阅订阅]成功: {}", device.getDeviceId()); logger.info("[取消目录订阅]成功: {}", device.getDeviceId());
} }
},eventResult -> { },eventResult -> {
// 失败 // 失败
logger.warn("[取消目录订阅订阅]失败,信令发送失败: {}-{} ", device.getDeviceId(), eventResult.msg); logger.warn("[取消目录订阅]失败,信令发送失败: {}-{} ", device.getDeviceId(), eventResult.msg);
}); });
} catch (InvalidArgumentException | SipException | ParseException e) { } catch (InvalidArgumentException | SipException | ParseException e) {
logger.error("[命令发送失败] 取消目录订阅订阅: {}", e.getMessage()); logger.error("[命令发送失败] 取消目录订阅: {}", e.getMessage());
} }
} }
} }

View File

@ -520,16 +520,18 @@ public class DeviceServiceImpl implements IDeviceService {
// 目录订阅相关的信息 // 目录订阅相关的信息
if (device.getSubscribeCycleForCatalog() > 0) { if (deviceInStore.getSubscribeCycleForCatalog() != device.getSubscribeCycleForCatalog()) {
if (deviceInStore.getSubscribeCycleForCatalog() == 0 || deviceInStore.getSubscribeCycleForCatalog() != device.getSubscribeCycleForCatalog()) { if (device.getSubscribeCycleForCatalog() > 0) {
deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog()); // 若已开启订阅,但订阅周期不同,则先取消
if (deviceInStore.getSubscribeCycleForCatalog() != 0) {
removeCatalogSubscribe(deviceInStore);
}
// 开启订阅 // 开启订阅
addCatalogSubscribe(deviceInStore);
}
}else if (device.getSubscribeCycleForCatalog() == 0) {
if (deviceInStore.getSubscribeCycleForCatalog() != 0) {
deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog()); deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog());
addCatalogSubscribe(deviceInStore);
}else if (device.getSubscribeCycleForCatalog() == 0) {
// 取消订阅 // 取消订阅
deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog());
removeCatalogSubscribe(deviceInStore); removeCatalogSubscribe(deviceInStore);
} }
} }