648540858
2023-06-27 c7d15150237c946fbb4f5547dab0018a5f573d88
src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java
@@ -18,7 +18,7 @@
 * @author lin
 */
@Component
@Order(value=3)
@Order(value=13)
public class SipPlatformRunner implements CommandLineRunner {
    @Autowired
@@ -40,17 +40,23 @@
        List<ParentPlatform> parentPlatforms = storager.queryEnableParentPlatformList(true);
        for (ParentPlatform parentPlatform : parentPlatforms) {
            ParentPlatformCatch parentPlatformCatchOld = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId());
            // 更新缓存
            ParentPlatformCatch parentPlatformCatch = new ParentPlatformCatch();
            parentPlatformCatch.setParentPlatform(parentPlatform);
            parentPlatformCatch.setId(parentPlatform.getServerGBId());
            redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch);
            if (parentPlatformCatchOld != null) {
                // 取消订阅
                sipCommanderForPlatform.unregister(parentPlatform, parentPlatformCatchOld.getSipTransactionInfo(), null, (eventResult)->{
                    platformService.login(parentPlatform);
                });
            }
            // 设置所有平台离线
            platformService.offline(parentPlatform, true);
            // 取消订阅
            sipCommanderForPlatform.unregister(parentPlatform, null, (eventResult)->{
                platformService.login(parentPlatform);
            });
            platformService.offline(parentPlatform, false);
        }
    }
}