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