xuxiaofei 3 роки тому
батько
коміт
d5be1dafc0

+ 6 - 3
zd-modules/zd-algorithm/src/main/java/com/zd/alg/fire/utils/FireDeviceStatusTask.java

@@ -6,6 +6,7 @@ import com.zd.alg.fire.service.IFireDeviceService;
 import com.zd.alg.mqtt.MqttSend;
 import com.zd.algorithm.api.fire.entity.vo.HardwareFireDeviceVO;
 import com.zd.common.core.redis.RedisService;
+import com.zd.common.core.utils.ReUtil;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.model.constant.CacheConstants;
 import com.zd.model.constant.MqttConstants;
@@ -25,9 +26,10 @@ import java.util.concurrent.TimeUnit;
  * @Description:
  */
 @Component
+
 public class FireDeviceStatusTask {
 
-    private static final Logger logger = LoggerFactory.getLogger(FireDeviceStatusTask.class);
+    Logger logger = LoggerFactory.getLogger(FireDeviceStatusTask.class);
 
     @Autowired
     private IFireDeviceService hardwareFireDeviceService;
@@ -54,12 +56,13 @@ public class FireDeviceStatusTask {
             redisService.setCacheObject(CacheConstants.FIRE_DEVICE_LIST, list, 60L, TimeUnit.MINUTES);
         }
 
-        if (list != null) {
+        if (list != null && list.size()>0) {
             for (HardwareFireDeviceVO vo : list) {
                 //根据主机地址-位获取主机状态指令
                 String activeCode = FireLaborUtil.getFireActiveOrder(vo.getDeviceUrl());
                 //向mqtt发送状态信息
-                byte[] activeCodeByte=activeCode.getBytes(StandardCharsets.UTF_8);
+                //byte[] activeCodeByte=activeCode.getBytes(StandardCharsets.UTF_8);
+                byte[] activeCodeByte =ReUtil.hexStringToByteArray(activeCode);
                 mqttSend.send(MqttConstants.TOPIC_FIRE_DEVICE + vo.getDeviceCode(), activeCodeByte);
                 //兼容指令无反应问题
                 Thread.sleep(500);