ソースを参照

二期 mqtt bug

suntianwu 3 年 前
コミット
09606888a2

+ 1 - 0
src/main/java/com/care/client/service/PassportService.java

@@ -100,6 +100,7 @@ public class PassportService extends AbstractPassportService {
              careMemberInfo.setPhone(phone);
              careMemberInfo.setOpenId(openId);
 
+             //前端主动获取传给后台,下面不用了
 //             String accessToken= wxPassportService.accessToken();
 //             WxConfig wxConfig = platformPinanbaoConfig.wxConfig();
 //

+ 4 - 4
src/main/java/com/care/installation/service/RoomService.java

@@ -320,7 +320,7 @@ public class RoomService {
         int careRoomResult = 0;
         if (!redisUtil.hasKey(Constants.MQTT_DEV_JIHUO_TIMEOUT_KEY + ":" + devCode + ":" + "careRoom")) {
             careRoomResult = 3;
-        } else if (careRoom == null || (StringUtils.isNotEmpty(careRoom.getAck()) && !"true".equals(careRoom.getAck()))) {
+        } else if (careRoom == null || (StringUtils.isNotEmpty(careRoom.getAck()) && !"1".equals(careRoom.getAck()))) {
             careRoomResult = 2;
         } else if (StringUtils.isEmpty(careRoom.getAck())) {
             careRoomResult = 0;
@@ -336,7 +336,7 @@ public class RoomService {
 
         if (!redisUtil.hasKey(Constants.MQTT_DEV_JIHUO_TIMEOUT_KEY + ":" + devCode + ":" + "careRoomSensor")) {
             careRoomSensorResult = 3;
-        } else if (careRoomSensor == null || (StringUtils.isNotEmpty(careRoomSensor.getAck()) && !"true".equals(careRoomSensor.getAck()))) {
+        } else if (careRoomSensor == null || (StringUtils.isNotEmpty(careRoomSensor.getAck()) && !"1".equals(careRoomSensor.getAck()))) {
             careRoomSensorResult = 2;
         }
         if (StringUtils.isEmpty(careRoomSensor.getAck())) {
@@ -354,7 +354,7 @@ public class RoomService {
              CareRoomGate careRoomGate = careRoomGateList.get(0);
              if (!redisUtil.hasKey(Constants.MQTT_DEV_JIHUO_TIMEOUT_KEY + ":" + devCode + ":" + "careRoomGate")) {
                  careRoomGateResult = 3;
-             } else if(careRoomGate == null || (StringUtils.isNotEmpty(careRoomGate.getAck()) && !"true".equals(careRoomGate.getAck()))) {
+             } else if(careRoomGate == null || (StringUtils.isNotEmpty(careRoomGate.getAck()) && !"1".equals(careRoomGate.getAck()))) {
                 careRoomGateResult = 2;
             } else if(StringUtils.isEmpty(careRoomGate.getAck())) {
                 careRoomGateResult = 0;
@@ -374,7 +374,7 @@ public class RoomService {
             CareRoomRegion careRoomRegion = careRoomRegionList.get(0);
             if (!redisUtil.hasKey(Constants.MQTT_DEV_JIHUO_TIMEOUT_KEY + ":" + devCode + ":" + "careRoomRegion")) {
                 careRoomRegionResult = 3;
-            } else if (careRoomRegion == null|| (StringUtils.isNotEmpty(careRoomRegion.getAck()) && !"true".equals(careRoomRegion.getAck()))) {
+            } else if (careRoomRegion == null|| (StringUtils.isNotEmpty(careRoomRegion.getAck()) && !"1".equals(careRoomRegion.getAck()))) {
                 careRoomRegionResult = 2;
             } else if(StringUtils.isEmpty(careRoomRegion.getAck())) {
                 careRoomRegionResult = 0;

+ 2 - 2
src/main/java/com/care/mqtt/service/MqttConnectorInstallPoolService.java

@@ -46,7 +46,7 @@ public class MqttConnectorInstallPoolService {
 
         String username = CommonConfUtil.getConf("mqtt.username");
         String password = CommonConfUtil.getConf("mqtt.password");
-        String topicInstall = careDevice.getTopicInstall();
+        String topic = careDevice.getTopic();
         configParams.put("MQTT_HOST", host);
         configParams.put("MQTT_CLIENTID", cliendIdInstall);
         configParams.put("MQTT_USERNAME", username);
@@ -55,7 +55,7 @@ public class MqttConnectorInstallPoolService {
             xbMqttDataConnector.createIotDataSource(configParams);
             MqttMessageListener mqttMessageListener = new MqttMessageListener();
             mqttMessageListener.setMqttMsgInstallService(mqttMsgInstallService);
-            xbMqttDataConnector.setReSubscribe(topicInstall, mqttMessageListener);
+            xbMqttDataConnector.setReSubscribe(topic, mqttMessageListener);
 
             MqttDataConnectorCache.getMqttDataConnectorMap().put(cliendIdInstall, xbMqttDataConnector);
 

+ 6 - 6
src/main/java/com/care/mqtt/service/MqttMsgInstallService.java

@@ -39,21 +39,21 @@ public class MqttMsgInstallService {
 
     /**
      * 处理mqtt消息
-     * @param topicInstall
+     * @param topic
      * @param mqttMessageStr
      * @throws Exception
      */
-    public void handleMessage(String topicInstall, String mqttMessageStr) throws Exception {
+    public void handleMessage(String topic, String mqttMessageStr) throws Exception {
          //房间信息配置的返回消息
-        handleConfigureRoomInfoResultMessage(topicInstall,mqttMessageStr);
+        handleConfigureRoomInfoResultMessage(topic,mqttMessageStr);
     }
 
     /**
      * 查询配置房间信息的结果消息 处理
-     * @param topicInstall
+     * @param topic
      * @param mqttMessageStr
      */
-    private void handleConfigureRoomInfoResultMessage(String topicInstall, String mqttMessageStr) {
+    private void handleConfigureRoomInfoResultMessage(String topic, String mqttMessageStr) {
         Map map = JSON.parseObject(mqttMessageStr);
         String type = (String) map.get("type");
         if(StringUtils.isEmpty(type)) {
@@ -75,7 +75,7 @@ public class MqttMsgInstallService {
         logger.info("是激活返回消息: ack == " + ack);
 
         QueryWrapper<CareDevice> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(CareDevice::getTopicInstall,topicInstall);
+        queryWrapper.lambda().eq(CareDevice::getTopic,topic);
         CareDevice careDevice = careDeviceService.getOne(queryWrapper);
         if(careDevice == null) {
             logger.error("数据库中没找到对应设备");