浏览代码

netty提交

hanzhiwei 3 年之前
父节点
当前提交
964488e569

+ 44 - 0
zd-api/zd-algorithm-api/src/main/java/com/zd/algorithm/api/netty/feign/RemoteNettyService.java

@@ -0,0 +1,44 @@
+package com.zd.algorithm.api.netty.feign;
+
+import com.zd.algorithm.api.netty.feign.fallback.RemoteNettyFallbackFactory;
+import com.zd.model.constant.ApplicationConstants;
+import com.zd.model.domain.R;
+import com.zd.model.entity.RemoteLabHardware;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * @author Administrator
+ */
+@FeignClient(contextId = "remoteNettyService", value = ApplicationConstants.ALGORITHM_SERVICE, fallbackFactory = RemoteNettyFallbackFactory.class)
+public interface RemoteNettyService {
+    /**
+     * 断开设备连接
+     * @param hardware 设备对象
+     * @return 结果
+     */
+    @ApiOperation("断开设备连接")
+    @PostMapping("/frid/disconnect")
+    R<Boolean> disconnect(@RequestBody RemoteLabHardware hardware);
+
+    /**
+     * 信道启动FRID扫描监控
+     * @param hardware 设备对象
+     * @return 结果
+     */
+    @ApiOperation("信道启动FRID扫描监控")
+    @PostMapping("/frid/startMonitorChannels")
+    R<Boolean> startMonitorChannels(@RequestBody RemoteLabHardware hardware);
+
+    /**
+     * 开启设备警报
+     * @param hardware 设备参数
+     * @return R
+     */
+    @ApiOperation("开启设备警报")
+    @PostMapping("/frid/alarm")
+    R<Boolean> alarm(@RequestBody RemoteLabHardware hardware);
+
+}

+ 36 - 0
zd-api/zd-algorithm-api/src/main/java/com/zd/algorithm/api/netty/feign/fallback/RemoteNettyFallbackFactory.java

@@ -0,0 +1,36 @@
+package com.zd.algorithm.api.netty.feign.fallback;
+
+import com.zd.algorithm.api.netty.feign.RemoteNettyService;
+import com.zd.model.domain.R;
+import com.zd.model.entity.RemoteLabHardware;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+@Component
+public class RemoteNettyFallbackFactory implements FallbackFactory<RemoteNettyService> {
+
+    private static final Logger log = LoggerFactory.getLogger(RemoteNettyFallbackFactory.class);
+
+    @Override
+    public RemoteNettyService create(Throwable throwable) {
+        log.error("netty服务调用失败:{}", throwable.getMessage());
+        return new RemoteNettyService() {
+            @Override
+            public R<Boolean> disconnect(RemoteLabHardware hardware) {
+                return  R.fail("停止扫描失败:" + throwable.getMessage());
+            }
+
+            @Override
+            public R<Boolean> startMonitorChannels(RemoteLabHardware hardware) {
+                return  R.fail("启动扫描失败:" + throwable.getMessage());
+            }
+
+            @Override
+            public R<Boolean> alarm(RemoteLabHardware hardware) {
+                return  R.fail("开启警报失败:" + throwable.getMessage());
+            }
+        };
+    }
+}

+ 24 - 0
zd-api/zd-algorithm-api/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,24 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+  com.zd.system.api.factory.RemoteUserFallbackFactory,\
+  com.zd.system.api.factory.RemoteLogFallbackFactory, \
+  com.zd.system.api.factory.RemoteFileFallbackFactory, \
+  com.zd.system.api.factory.RemoteDeptFallbackFactory, \
+  com.zd.system.api.factory.RemoteExamFallbackFactory, \
+  com.zd.system.api.face.factory.RemoteFaceFallbackFactory, \
+  com.zd.system.api.students.factory.RemoteStudentsFallbackFactory, \
+  com.zd.system.api.factory.RemoteMessageContentFallbackFactory,\
+  com.zd.system.api.factory.RemoteAlarmFallbackFactory,\
+  com.zd.system.api.forward.factory.RemoteForwardFallbackFactory,\
+  com.zd.system.api.factory.RemoteSubQueryFallbackFactory,\
+  com.zd.system.api.factory.RemoteLaboratoryFallbackFactory,\
+  com.zd.system.api.kkFile.factory.RemoteKkFileServiceFallbackFactory,\
+  com.zd.system.api.speak.factory.RemoteSpeakFallbackFactory,\
+  com.zd.system.api.airbottle.factory.RemoteAirBottleFallbackFactory,\
+  com.zd.system.api.netty.factory.RemoteNettyFallbackFactory,\
+  com.zd.system.api.chemical.factory.RemoteStockFallbackFactory,\
+  com.zd.system.api.chemical.factory.RemoteCabinetFallbackFactory,\
+  com.zd.system.api.camera.factory.RemoteCameraFallBackFactory,\
+  com.zd.system.api.netty.factory.RemoteNettyFallbackFactory,\
+  com.zd.system.api.message.factory.RemoteMessageFallbackFactory,\
+  com.zd.system.api.chemical.factory.RemoteChemicalAlarmFallbackFactory
+

+ 1 - 1
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteLaboratoryService.java

@@ -3,7 +3,7 @@ package com.zd.laboratory.api.feign;
 import com.zd.laboratory.api.entity.LabGradeManageRecord;
 import com.zd.laboratory.api.entity.LabMessageContent;
 import com.zd.laboratory.api.entity.LabSubjectVO;
-import com.zd.laboratory.api.entity.RemoteLabHardware;
+import com.zd.model.entity.RemoteLabHardware;
 import com.zd.laboratory.api.feign.fallback.RemoteLaboratoryFallbackFactory;
 import com.zd.laboratory.api.vo.LabGradeManageWorkVO;
 import com.zd.model.constant.ApplicationConstants;

+ 1 - 1
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteLaboratoryFallbackFactory.java

@@ -3,7 +3,7 @@ package com.zd.laboratory.api.feign.fallback;
 import com.zd.laboratory.api.entity.LabGradeManageRecord;
 import com.zd.laboratory.api.entity.LabMessageContent;
 import com.zd.laboratory.api.entity.LabSubjectVO;
-import com.zd.laboratory.api.entity.RemoteLabHardware;
+import com.zd.model.entity.RemoteLabHardware;
 import com.zd.laboratory.api.feign.RemoteLaboratoryService;
 import com.zd.laboratory.api.vo.LabGradeManageWorkVO;
 import com.zd.model.domain.AjaxResult;

+ 1 - 1
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/vo/InventoryTag.java

@@ -1,6 +1,6 @@
 package com.zd.laboratory.api.vo;
 
-import com.zd.laboratory.api.entity.RemoteLabHardware;
+import com.zd.model.entity.RemoteLabHardware;
 import lombok.Data;
 import lombok.ToString;
 

+ 3 - 5
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/entity/RemoteLabHardware.java

@@ -1,4 +1,4 @@
-package com.zd.laboratory.api.entity;
+package com.zd.model.entity;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.zd.model.annotation.Excel;
@@ -7,8 +7,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.Size;
-
 /**
  * 硬件对象 lab_hardware
  *
@@ -16,7 +14,7 @@ import javax.validation.constraints.Size;
  */
 @ApiModel("硬件表")
 @Data
-public class RemoteLabHardware{
+public class RemoteLabHardware {
 
     /**
      * 主键id
@@ -117,7 +115,7 @@ public class RemoteLabHardware{
     private Integer manufacturerType;
 
     /** ip地址 */
-    @Size(message = "ip地址长度不能超过100")
+//    @Length(message = "ip地址长度不能超过100")
     @ApiModelProperty(value = "ip地址")
     private String ipAddress;
     /** 设备端口号 */