Browse Source

add 设置网桥初始值

18339543638 4 năm trước cách đây
mục cha
commit
43cce211fd

+ 0 - 5
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/server/aliyun/AliBridgeGateway.java

@@ -116,11 +116,6 @@ public class AliBridgeGateway extends ClusterService<AliIotBridgeEntity> {
     public Mono<AliBridgeServer> replaceBridgeServer(AliIotBridgeEntity bridge,boolean broadcast){
         return broadcast?Mono.zip(sendClusterMsg(bridge),initBridge(bridge,broadcast)) .then(lookUpServer(bridge.getId()))
             :initBridge(bridge,broadcast).then(lookUpServer(bridge.getId()));
-//        return Mono.zip(Mono.just(broadcast)
-//                .filter(Boolean.TRUE::equals)
-//                .flatMap(ignore->sendClusterMsg(bridge)),
-//            initBridge(bridge,broadcast))
-//            .then(lookUpServer(bridge.getId()));
     }
 
 

+ 11 - 4
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/server/aliyun/AliBridgeServer.java

@@ -120,7 +120,8 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
                             return false;
                         }
                     });
-                })  .flatMap(ignore->bridgeService.createUpdate().set(AliIotBridgeEntity::getState,BridgeStatus.running)
+                })
+                .flatMap(ignore->bridgeService.createUpdate().set(AliIotBridgeEntity::getState,BridgeStatus.running)
                     .where(AliIotBridgeEntity::getId,id).execute())
                 .onErrorResume(Exception.class,
                     e->Mono.justOrEmpty(isReplica())
@@ -230,13 +231,19 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
                         if(online){
                             channel.online();
                         }else {
-                            try {
-                                channel.doOffline();
-                            }catch (Exception e){}
+                            channel.doOffline();
                         }
                     })
                     .thenReturn(channel)
             )
+            .flatMap(channel->
+                bridgeDeviceService
+                    .createUpdate().set(AliIotBridgeDeviceConfig::getState, BridgeDeviceStatus.success)
+                    .set(AliIotBridgeDeviceConfig::getState,BridgeDeviceStatus.success)
+                    .where(AliIotBridgeDeviceConfig::getOriginalIdentity,originalIdentity)
+                    .execute()
+                    .thenReturn(channel)
+            )
             .onErrorResume(Exception.class,
                 e->Mono.just(isReplica())
                     .filter(Boolean.FALSE::equals)