From a4328e3d4fe2894c0ddf378eea9b3c2a3498d62b Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 23 三月 2023 08:52:35 +0800 Subject: [PATCH] 修复关闭接口鉴权后跨域设置失效的问题 --- src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java | 24 ++++++++++++++++++++++-- 1 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java index 451c589..25f07f5 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java @@ -28,7 +28,7 @@ * @author lin */ @Component -@Order(value=4) +@Order(value=14) public class SipRunner implements CommandLineRunner { @Autowired @@ -61,7 +61,7 @@ for (Device device : deviceList) { if (deviceService.expire(device)){ - deviceService.offline(device.getDeviceId()); + deviceService.offline(device.getDeviceId(), "娉ㄥ唽宸茶繃鏈�"); }else { deviceService.online(device); } @@ -69,6 +69,26 @@ // 閲嶇疆cseq璁℃暟 redisCatchStorage.resetAllCSEQ(); // 娓呯悊redis + // 娓呯悊鏁版嵁搴撲笉瀛樺湪浣嗘槸redis涓瓨鍦ㄧ殑鏁版嵁 + List<Device> devicesInDb = deviceService.getAll(); + if (devicesInDb.size() == 0) { + redisCatchStorage.removeAllDevice(); + }else { + List<Device> devicesInRedis = redisCatchStorage.getAllDevices(); + if (devicesInRedis.size() > 0) { + Map<String, Device> deviceMapInDb = new HashMap<>(); + devicesInDb.parallelStream().forEach(device -> { + deviceMapInDb.put(device.getDeviceId(), device); + }); + devicesInRedis.parallelStream().forEach(device -> { + if (deviceMapInDb.get(device.getDeviceId()) == null) { + redisCatchStorage.removeDevice(device.getDeviceId()); + } + }); + } + } + + // 鏌ユ壘鍥芥爣鎺ㄦ祦 List<SendRtpItem> sendRtpItems = redisCatchStorage.queryAllSendRTPServer(); if (sendRtpItems.size() > 0) { -- Gitblit v1.8.0