|
|
@@ -19,6 +19,8 @@ import org.jetlinks.community.bridge.enums.BridgeStatus;
|
|
|
import org.jetlinks.community.bridge.server.aliyun.AliBridgeGateway;
|
|
|
import org.jetlinks.community.bridge.service.AliBridgeDeviceService;
|
|
|
import org.jetlinks.community.bridge.service.AliBridgeService;
|
|
|
+import org.jetlinks.community.bridge.service.AliIotService;
|
|
|
+import org.jetlinks.community.bridge.web.param.AliApiParam;
|
|
|
import org.jetlinks.core.cluster.ClusterManager;
|
|
|
import org.jetlinks.core.cluster.ClusterService;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
@@ -49,6 +51,7 @@ public class AliBridgeServerController implements
|
|
|
|
|
|
private final AliBridgeDeviceService bridgeDeviceService;
|
|
|
|
|
|
+ private final AliIotService iotService;
|
|
|
@Override
|
|
|
public ReactiveCrudService<AliIotBridgeEntity, String> getService() {
|
|
|
return bridgeService;
|
|
|
@@ -63,11 +66,23 @@ public class AliBridgeServerController implements
|
|
|
@Operation(summary = "删除网桥")
|
|
|
@DeleteAction
|
|
|
public Mono<Void> deleteBridge(@PathVariable("bridgeId")String id){
|
|
|
- return Mono.zip(
|
|
|
- bridgeService.deleteById(id),
|
|
|
- bridgeDeviceService.createDelete().where(AliIotBridgeDeviceConfig::getBridgeId,id).execute(),
|
|
|
- bridgeGateway.delBridgeServer(id,true))
|
|
|
- .then();
|
|
|
+ return bridgeService.findById(id)
|
|
|
+ .concatWith(Mono.zip(
|
|
|
+ bridgeService.deleteById(id),
|
|
|
+ bridgeDeviceService.createDelete().where(AliIotBridgeDeviceConfig::getBridgeId,id).execute(),
|
|
|
+ bridgeGateway.delBridgeServer(id,true)).then(Mono.empty()))
|
|
|
+ .flatMap(bridge->{
|
|
|
+ AliIotBridgeEntity.AccessConfig accessConfig = bridge.getAccessConfig();
|
|
|
+ AliApiParam param = AliApiParam.commonParam(accessConfig.getRegionId(), accessConfig.getAccessKey(), accessConfig.getAccessSecret());
|
|
|
+ param.setProductKey(param.getProductKey());
|
|
|
+ param.setIotInstanceId(param.getIotInstanceId());
|
|
|
+ return iotService.deleteProduct(param);
|
|
|
+ }).then();
|
|
|
+// return Mono.zip(
|
|
|
+// bridgeService.deleteById(id),
|
|
|
+// bridgeDeviceService.createDelete().where(AliIotBridgeDeviceConfig::getBridgeId,id).execute(),
|
|
|
+// bridgeGateway.delBridgeServer(id,true))
|
|
|
+// .then();
|
|
|
}
|
|
|
|
|
|
|