Browse Source

add 自动启动

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

+ 2 - 1
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/server/aliyun/AliBridgeServer.java

@@ -18,6 +18,7 @@ import org.jetlinks.community.bridge.server.Channel;
 import org.jetlinks.core.device.DeviceOperator;
 import org.jetlinks.core.device.DeviceRegistry;
 import org.jetlinks.core.event.EventBus;
+import org.springframework.boot.CommandLineRunner;
 import reactor.core.publisher.*;
 import reactor.util.function.Tuple4;
 
@@ -36,7 +37,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
  * @createTime 2021年11月30日 11:01:00
  */
 @Slf4j
-public class AliBridgeServer implements BridgeServer {
+public class AliBridgeServer  implements BridgeServer {
     private String productId;
     private Map<String, Channel> channelMap=new ConcurrentHashMap<>();
 

+ 27 - 1
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/service/AliBridgeService.java

@@ -1,8 +1,15 @@
 package org.jetlinks.community.bridge.service;
 
+import lombok.AllArgsConstructor;
 import org.hswebframework.web.crud.service.GenericReactiveCacheSupportCrudService;
+import org.jetlinks.community.bridge.entity.AliIotBridgeDeviceConfig;
 import org.jetlinks.community.bridge.entity.AliIotBridgeEntity;
+import org.jetlinks.community.bridge.enums.BridgeDeviceStatus;
+import org.jetlinks.community.bridge.enums.BridgeStatus;
+import org.jetlinks.community.bridge.server.aliyun.AliBridgeGateway;
+import org.springframework.boot.CommandLineRunner;
 import org.springframework.stereotype.Component;
+import reactor.core.publisher.Mono;
 
 /**
  * @author lifang
@@ -12,5 +19,24 @@ import org.springframework.stereotype.Component;
  * @createTime 2021年11月27日 09:59:00
  */
 @Component
-public class AliBridgeService extends GenericReactiveCacheSupportCrudService<AliIotBridgeEntity, String> {
+@AllArgsConstructor
+public class AliBridgeService extends GenericReactiveCacheSupportCrudService<AliIotBridgeEntity, String> implements CommandLineRunner {
+    private final AliBridgeGateway bridgeGateway;
+    private final AliBridgeDeviceService bridgeDeviceService;
+
+    @Override
+    public void run(String... args) throws Exception {
+//        this.createQuery()
+//            .where(AliIotBridgeEntity::getState, BridgeStatus.running)
+//            .fetch()
+//            .flatMap(bridgeParam->bridgeGateway.initBridge(bridgeParam)
+//                .concatWith(bridgeDeviceService.createQuery()
+//                    .where(AliIotBridgeDeviceConfig::getBridgeId,bridgeParam.getId())
+//                    .fetch()
+//                    .flatMap(deviceConfig->
+//                        bridgeGateway.getBridgeServer(bridgeParam.getProductId()).flatMap(bridgeServe->bridgeServe.register(deviceConfig.getOriginalIdentity(),deviceConfig.getProductKey(),deviceConfig.getDeviceName(),deviceConfig.getDeviceSecret()))
+//                            .then(Mono.empty()))
+//                ))
+//            .subscribe();1
+    }
 }

+ 2 - 2
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/service/AliIotService.java

@@ -27,7 +27,7 @@ public class AliIotService {
      * @return 分页查询结果
      */
     public Mono<Map<String,Object>> queryIotProductPage(AliApiParam param,Integer currentPage,Integer pageSize) throws ClientException {
-        DefaultProfile profile = DefaultProfile.getProfile(param.getRegionId(), param.getAccessKeyId(), param.getAccessSecret());
+        DefaultProfile profile = DefaultProfile.getProfile(param.getRegionId(), param.getAccessKey(), param.getAccessSecret());
         DefaultAcsClient client = new DefaultAcsClient(profile);
         QueryProductListRequest request = new QueryProductListRequest();
         request.setPageSize(pageSize);
@@ -48,7 +48,7 @@ public class AliIotService {
      * @throws ClientException
      */
     public Mono<?> queryIotDevicePage(AliApiParam param, Integer currentPage, Integer pageSize) throws ClientException {
-        DefaultProfile profile = DefaultProfile.getProfile(param.getRegionId(), param.getAccessKeyId(), param.getAccessSecret());
+        DefaultProfile profile = DefaultProfile.getProfile(param.getRegionId(), param.getAccessKey(), param.getAccessSecret());
         DefaultAcsClient client = new DefaultAcsClient(profile);
         QueryDeviceRequest request = new QueryDeviceRequest();
         request.setPageSize(pageSize);

+ 1 - 2
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/web/AliBridgeServerController.java

@@ -135,8 +135,7 @@ public class AliBridgeServerController implements
     public Mono<Void> updateBridge(@PathVariable("productId")String productId,@RequestBody AliIotBridgeEntity bridge){
         //删除设备后重新注册设备
         return   Mono.zip(
-            bridgeService.save(bridge)
-            ,
+            bridgeService.save(bridge),
             bridgeGateway.replaceBridgeServer(productId,bridge))
             .flatMap(tp2->bridgeDeviceService.createQuery()
                 .where(AliIotBridgeDeviceConfig::getBridgeId,bridge.getId())

+ 2 - 2
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/web/AliIotApiController.java

@@ -69,8 +69,8 @@ public class AliIotApiController {
      * @param param
      */
     private void verifyCommonParam(AliApiParam param){
-        if(StrUtil.isEmpty(param.getAccessKeyId())){
-            throw new BusinessException("accessKeyId不能为空");
+        if(StrUtil.isEmpty(param.getAccessKey())){
+            throw new BusinessException("accessKey不能为空");
         }
         if(StrUtil.isEmpty(param.getAccessSecret())){
             throw new BusinessException("accessSecret不能为空");

+ 2 - 2
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/web/param/AliApiParam.java

@@ -21,9 +21,9 @@ public class AliApiParam {
     @Parameter(name = "物联网实例id")
     private String iotInstanceId;
 
-    @Parameter(name = "accessKeyId")
+    @Parameter(name = "accessKey")
     @NotNull(message = "accessKeyId不能为空")
-    private String accessKeyId;
+    private String accessKey;
     @Parameter(name = "通行秘钥")
     @NotNull(message = "accessSecret不能为空")
     private String accessSecret;