Merge pull request #168 from wujun8/master

ProtocolSupport.onChildBind onChildUnbind
This commit is contained in:
老周 2022-06-08 17:29:59 +08:00 committed by GitHub
commit bf04b7f908
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 4 deletions

View File

@ -137,7 +137,14 @@ public class GatewayDeviceController {
.execute()
.then(registry
.getDevice(deviceId)
.flatMap(operator -> operator.setConfig(DeviceConfigKey.parentGatewayId, gatewayId)))
.flatMap(operator -> operator.setConfig(DeviceConfigKey.parentGatewayId, gatewayId))
).then(registry.getDevice(gatewayId)
.flatMap(gwOperator -> gwOperator.getProtocol()
.map(protocolSupport -> protocolSupport.onChildBind(gwOperator,
Flux.from(registry.getDevice(deviceId)))
)
)
)
)
.then(getGatewayInfo(gatewayId));
}
@ -168,9 +175,14 @@ public class GatewayDeviceController {
.getDevice(id)
.flatMap(operator -> operator.setConfig(DeviceConfigKey.parentGatewayId, gatewayId)))
.then()
))
.then(getGatewayInfo(gatewayId));
).then(registry.getDevice(gatewayId)
.flatMap(gwOperator -> gwOperator.getProtocol()
.map(protocolSupport -> protocolSupport.onChildBind(gwOperator,
Flux.fromIterable(deviceIdList).flatMap(id -> registry.getDevice(id)))
)
)
)
).then(getGatewayInfo(gatewayId));
}
@PostMapping("/{gatewayId}/unbind/{deviceId}")
@ -188,6 +200,13 @@ public class GatewayDeviceController {
.flatMap(i -> registry
.getDevice(deviceId)
.flatMap(operator -> operator.removeConfig(DeviceConfigKey.parentGatewayId.getKey())))
.then(registry.getDevice(gatewayId)
.flatMap(gwOperator -> gwOperator.getProtocol()
.map(protocolSupport -> protocolSupport.onChildUnbind(gwOperator,
Flux.from(registry.getDevice(deviceId)))
)
)
)
.then(getGatewayInfo(gatewayId));
}