优化子设备离线消息处理

This commit is contained in:
zhou-hao 2020-11-30 19:12:48 +08:00
parent b0b312ad8e
commit fdd5be785c
1 changed files with 8 additions and 0 deletions

View File

@ -46,6 +46,14 @@ public class DeviceGatewayHelper {
protected Mono<Void> handleChildrenDeviceMessage(String deviceId, DeviceMessage children) {
ChildrenDeviceSession deviceSession = sessionManager.getSession(deviceId, children.getDeviceId());
//子设备离线
if(children instanceof DeviceOfflineMessage){
//注销会话,这里子设备可能会收到多次离线消息
//注销会话一次离线,消息网关转发子设备消息一次
return sessionManager
.unRegisterChildren(deviceId,children.getDeviceId())
.then();
}
if (deviceSession == null && null != children.getDeviceId()) {
Mono<Void> then = sessionManager
.registerChildren(deviceId, children.getDeviceId())