Explorar el Código

一键灭火定时器修改

xuxiaofei hace 3 años
padre
commit
a2cd0395bf

+ 6 - 1
zd-api/zd-algorithm-api/src/main/java/com/zd/algorithm/api/fire/RemoteFireDeviceService.java

@@ -1,7 +1,9 @@
 package com.zd.algorithm.api.fire;
 
+import com.zd.algorithm.api.fire.feign.fallback.RemoteFireDeviceFallbackFactory;
 import com.zd.algorithm.api.speaker.feign.fallback.RemoteSpeakFallbackFactory;
 import com.zd.model.constant.ApplicationConstants;
+import com.zd.model.domain.AjaxResult;
 import com.zd.model.domain.R;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam;
  * 一键灭火远程调用
  * @author xxf
  */
-@FeignClient(contextId = "remoteFireDeviceService",value = ApplicationConstants.ALGORITHM_SERVICE,fallbackFactory = RemoteSpeakFallbackFactory.class)
+@FeignClient(contextId = "remoteFireDeviceService",value = ApplicationConstants.ALGORITHM_SERVICE,fallbackFactory = RemoteFireDeviceFallbackFactory.class)
 public interface RemoteFireDeviceService {
 
     @GetMapping(value = "/firedevice/addFireLog")
@@ -21,4 +23,7 @@ public interface RemoteFireDeviceService {
 
     @GetMapping(value = "/firedevice/getDeviceByCode")
     public R getDeviceByCode(@RequestParam(value = "deviceCode", required = true) String deviceCode);
+
+    @GetMapping(value = "/firedeviceTask/deviceStatus")
+    public AjaxResult getFireDeviceStatus();
 }

+ 7 - 0
zd-api/zd-algorithm-api/src/main/java/com/zd/algorithm/api/fire/feign/fallback/RemoteFireDeviceFallbackFactory.java

@@ -1,6 +1,7 @@
 package com.zd.algorithm.api.fire.feign.fallback;
 
 import com.zd.algorithm.api.fire.RemoteFireDeviceService;
+import com.zd.model.domain.AjaxResult;
 import com.zd.model.domain.R;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -30,6 +31,12 @@ public class RemoteFireDeviceFallbackFactory implements FallbackFactory<RemoteFi
                 log.info("根据采集器编码查询灭火设备信息失败:" + cause.getMessage());
                 return R.fail("根据采集器编码查询灭火设备信息失败:"+ cause.getMessage());
             }
+
+            @Override
+            public AjaxResult getFireDeviceStatus() {
+                log.info("一键灭火设备状态请求失败:" + cause.getMessage());
+                return AjaxResult.error("一键灭火设备状态请求失败:" + cause.getMessage());
+            }
         };
 
     }

+ 10 - 5
zd-modules/zd-algorithm/src/main/java/com/zd/alg/fire/utils/FireDeviceStatusTask.java

@@ -13,11 +13,14 @@ import com.zd.laboratory.api.feign.RemoteLaboratoryService;
 import com.zd.model.constant.CacheConstants;
 import com.zd.model.constant.CacheDevice;
 import com.zd.model.constant.MqttConstants;
+import com.zd.model.domain.ResultData;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
 
 import java.util.List;
 import java.util.concurrent.TimeUnit;
@@ -28,7 +31,7 @@ import java.util.concurrent.TimeUnit;
  * @Description:
  */
 @Component
-
+@RequestMapping("/firedeviceTask")
 public class FireDeviceStatusTask {
 
     Logger logger = LoggerFactory.getLogger(FireDeviceStatusTask.class);
@@ -46,8 +49,9 @@ public class FireDeviceStatusTask {
     /**
      * 定时更新灭火装置状态
      */
-    @Scheduled(cron = "0/20 * * * * ?")
-    public void getFireDeviceStatus() {
+    //@Scheduled(cron = "0/20 * * * * ?")
+    @RequestMapping("/deviceStatus")
+    public ResultData getFireDeviceStatus() {
         try {
             //redis取值
             List<HardwareFireDeviceVO> list = JSON.parseArray(redisService.getCacheObject(CacheConstants.FIRE_DEVICE_LIST) + "", HardwareFireDeviceVO.class);
@@ -67,8 +71,8 @@ public class FireDeviceStatusTask {
                     byte[] activeCodeByte = ReUtil.hexStringToByteArray(activeCode);
                     mqttSend.send(MqttConstants.TOPIC_FIRE_DEVICE + vo.getDeviceCode(), activeCodeByte);
                     //兼容指令无反应问题
-                    /*Thread.sleep(500);
-                    mqttSend.send(MqttConstants.TOPIC_FIRE_DEVICE + vo.getDeviceCode(), activeCodeByte);*/
+                    Thread.sleep(500);
+                    mqttSend.send(MqttConstants.TOPIC_FIRE_DEVICE + vo.getDeviceCode(), activeCodeByte);
                     logger.info("集合数量:" + list.size() + ",mqtt消息推送, 灭火装置状态请求,实验室id:" + vo.getSubjectId() + ",采集器编号:" + vo.getDeviceCode() + ",继电器编号" + vo.getRelayCode());
 
 
@@ -102,5 +106,6 @@ public class FireDeviceStatusTask {
         } catch (Exception e) {
             logger.info("一键灭火定时任务异常" + e);
         }
+        return ResultData.success();
     }
 }

+ 4 - 0
zd-modules/zd-base/pom.xml

@@ -122,6 +122,10 @@
             <artifactId>minio</artifactId>
             <version>${minio.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.zd.algorithm</groupId>
+            <artifactId>zd-algorithm-api</artifactId>
+        </dependency>
     </dependencies>
 
     <build>