Przeglądaj źródła

修改mqtt地址、增加心跳功能

suntianwu 3 lat temu
rodzic
commit
35427b3db0

+ 11 - 6
src/main/java/com/care/bms/service/DeviceService.java

@@ -2,7 +2,6 @@ package com.care.bms.service;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.HexUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -10,7 +9,6 @@ import com.care.common.entity.*;
 import com.care.common.enums.*;
 import com.care.common.exception.BDException;
 import com.care.common.service.*;
-import com.care.common.util.CommonConfUtil;
 import com.care.common.util.MyBeanUtils;
 import com.care.common.vo.PageReqVO;
 import com.care.common.vo.UserLogindConvertVO;
@@ -20,6 +18,7 @@ import com.care.common.vo.order.OrderOlderVO;
 import com.care.mqtt.service.MqttConnectorPoolService;
 import lombok.Synchronized;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -56,6 +55,12 @@ public class DeviceService {
     private CareSysUserService careSysUserService;
     @Resource
     private MqttConnectorPoolService mqttConnectorPoolService;
+
+    @Value("${mqtt.topic.work.template:#{null}}")
+    private String mqttTopicWorkTemplate;
+    @Value("${mqtt.topic.install.template:#{null}}")
+    private String mqttTopicInstallTemplate;
+
     /**
      * 删除设备
      * @param id
@@ -153,10 +158,10 @@ public class DeviceService {
         device.setCreateTime(new Date());
         device.setOrgId(loginUser.getOrgId());
 
-        String topic = CommonConfUtil.getConf("mqtt.topic.work.template").replace("XXXXX",device.getDevCode());
+        String topic = mqttTopicWorkTemplate.replace("XXXXX",device.getDevCode());
         device.setTopic(topic);
 
-        String topicInstall = CommonConfUtil.getConf("mqtt.topic.install.template").replace("XXXXX",device.getDevCode());
+        String topicInstall = mqttTopicInstallTemplate.replace("XXXXX",device.getDevCode());
         device.setTopicInstall(topicInstall);
 
         device.setClientId(UUID.randomUUID().toString());
@@ -234,11 +239,11 @@ public class DeviceService {
 
         //mqtt
         if(StringUtils.isEmpty(device.getTopic())){
-            String topic = CommonConfUtil.getConf("mqtt.topic.work.template").replace("XXXXX",device.getDevCode());
+            String topic = mqttTopicWorkTemplate.replace("XXXXX",device.getDevCode());
             device.setTopic(topic);
         }
         if(StringUtils.isEmpty(device.getTopicInstall())){
-            String topicInstall = CommonConfUtil.getConf("mqtt.topic.install.template").replace("XXXXX",device.getDevCode());
+            String topicInstall = mqttTopicInstallTemplate.replace("XXXXX",device.getDevCode());
             device.setTopicInstall(topicInstall);
         }
         if(StringUtils.isEmpty(device.getClientId())){

+ 4 - 0
src/main/java/com/care/common/cache/RedisKeyConstant.java

@@ -57,4 +57,8 @@ public class RedisKeyConstant {
     // 频安管家微信登录信息 2h
     public static final String PINANSHOUHU_WX_LOGIN_INFO = "PINANSHOUHU:WXLOGIN";
     public static final int PINANSHOUHU_WX_LOGIN_INFO_TIME = 3600 * 2;
+
+    //设备Mqtt心跳信息 5m
+    public static final String MQTT_DEV_HEARBEAT_INFO = "MQTT:HEARBEAT";
+    public static final int MQTT_DEV_HEARBEAT_INFO_TIME = 60 * 5;
 }

+ 5 - 0
src/main/java/com/care/common/constant/Constants.java

@@ -25,4 +25,9 @@ public interface Constants {
      * 设备激活返回消息超时 KEY
      */
     String MQTT_DEV_JIHUO_TIMEOUT_KEY = "mqttDevJihuoTimeoutKey";
+
+    /**
+     * 设备心跳消息
+     */
+    String DEV_HEARTBEAT_MESSAGE = "I am alive!";
 }

+ 7 - 5
src/main/java/com/care/installation/service/DevInstallService.java

@@ -7,10 +7,10 @@ import com.care.common.entity.*;
 
 import com.care.common.service.*;
 
-import com.care.common.util.CommonConfUtil;
 import com.care.installation.vo.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -26,8 +26,10 @@ public class DevInstallService {
     private CareDeviceService careDeviceService;
     @Resource
     private CareHouseService careHouseService;
-    @Resource
-    private CareMemberInfoService careMemberInfoService;
+    @Value("${mqtt.topic.work.template:#{null}}")
+    private String mqttTopicWorkTemplate;
+    @Value("${mqtt.topic.install.template:#{null}}")
+    private String mqttTopicInstallTemplate;
 
 
     public Boolean checkDevCode(String devCode) {
@@ -126,11 +128,11 @@ public class DevInstallService {
         }
         //mqtt
         if(StringUtils.isEmpty(careDevice.getTopic())){
-            String topic = CommonConfUtil.getConf("mqtt.topic.work.template").replace("XXXXX",careDevice.getDevCode());
+            String topic = mqttTopicWorkTemplate.replace("XXXXX",careDevice.getDevCode());
             careDevice.setTopic(topic);
         }
         if(StringUtils.isEmpty(careDevice.getTopicInstall())){
-            String topicInstall = CommonConfUtil.getConf("mqtt.topic.install.template").replace("XXXXX",careDevice.getDevCode());
+            String topicInstall = mqttTopicInstallTemplate.replace("XXXXX",careDevice.getDevCode());
             careDevice.setTopicInstall(topicInstall);
         }
         if(StringUtils.isEmpty(careDevice.getClientId())){

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

@@ -12,7 +12,6 @@ import com.care.common.enums.DeviceActiveStatusEnum;
 import com.care.common.enums.DeviceStatusEnum;
 import com.care.common.enums.InstallDevStatusEnum;
 import com.care.common.service.*;
-import com.care.common.util.CommonConfUtil;
 import com.care.common.util.JsonUtil;
 import com.care.installation.vo.*;
 import com.care.mqtt.service.MqttConnectorInstallPoolService;
@@ -22,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -50,6 +50,9 @@ public class RoomService {
     private MqttConnectorPoolService mqttConnectorPoolService;
     @Resource
     private RedisUtil redisUtil;
+    @Value("${mqtt.dev.jihuo.timeout:#{null}}")
+    private String mqttJihuoTimeout;
+
     private static Logger logger = LoggerFactory.getLogger(RoomService.class);
 
     public  Map<String,Boolean> getConfStatusInfo(String devCode) {
@@ -314,7 +317,7 @@ public class RoomService {
      * 启动一个线程,查询状态,防止前端不轮训,造成资源泄露
      */
     private void queryConfigureRoomInfoResult(String devCode) {
-        Long timeout = Long.parseLong(CommonConfUtil.getConf("mqtt.dev.jihuo.timeout"));
+        Long timeout = Long.parseLong(mqttJihuoTimeout);
        try {
            Thread.sleep(timeout * 1000 + 100);
            getConfigureRoomInfoResult(devCode,false);

+ 3 - 2
src/main/java/com/care/mqtt/init/MqttInitRunner.java

@@ -3,10 +3,10 @@ package com.care.mqtt.init;
 
 import com.care.mqtt.service.MqttConnectorPoolService;
 import com.care.mqtt.service.MqttMsgRedisService;
-import com.care.common.util.CommonConfUtil;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.core.annotation.Order;
 
@@ -21,10 +21,11 @@ public class MqttInitRunner implements CommandLineRunner {
     private MqttConnectorPoolService mqttConnectorPoolService;
     @Autowired
     private MqttMsgRedisService mqttMsgRedisService;
+    @Value("${mqtt.on:#{null}}")
+    private String mqttOn;
 
     @Override
     public void run(String... args) throws Exception {
-        String mqttOn = CommonConfUtil.getConf("mqtt.on");
         if ("1".equals(mqttOn)){
             logger.info("初始化MQTTstart ...........................");
             mqttConnectorPoolService.init();

+ 35 - 0
src/main/java/com/care/mqtt/schedule/MqttHeartbeatSchedule.java

@@ -0,0 +1,35 @@
+package com.care.mqtt.schedule;
+
+
+import com.care.mqtt.service.MqttHearbeatService;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+
+/** Mqtt心跳调度
+ * @author stw
+ * @version 2.7.0.0 创建于 2021/9/23
+ **/
+@Configuration
+@EnableScheduling
+public class MqttHeartbeatSchedule {
+    private static final Logger logger = LogManager.getLogger(MqttHeartbeatSchedule.class);
+   @Autowired
+    private MqttHearbeatService mqttHearbeatService;
+    /**
+     * 5 分钟调用一次
+     */
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void rotationDev() {
+        try {
+            mqttHearbeatService.rotationDev();
+        } catch (Exception e) {
+            logger.error("轮训出错:{}", e.getMessage());
+        }
+    }
+
+}

+ 3 - 3
src/main/java/com/care/mqtt/schedule/MqttMsgSchedule.java

@@ -13,9 +13,9 @@ import org.springframework.scheduling.annotation.Scheduled;
 
 
 
-/** 手动外呼话单调度
- * @author 许明
- * @version 2.7.0.0 创建于 2018/7/16
+/** Mqtt消息调度
+ * @author stw
+ * @version 2.7.0.0 创建于 2021/9/23
  **/
 @Configuration
 @EnableScheduling

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

@@ -2,10 +2,10 @@ package com.care.mqtt.service;
 
 
 import com.care.common.entity.CareDevice;
-import com.care.common.util.CommonConfUtil;
 import com.care.mqtt.tool.MqttDataConnector;
 import com.care.mqtt.tool.MqttDataConnectorCache;
 import com.care.mqtt.tool.MqttMessageListener;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -23,6 +23,14 @@ public class MqttConnectorInstallPoolService {
     @Resource
     private MqttMsgInstallService mqttMsgInstallService;
 
+    @Value("${mqtt.broker:#{null}}")
+    private String mqttBroker;
+    @Value("${mqtt.port:#{null}}")
+    private String mqttPort;
+    @Value("${mqtt.username:#{null}}")
+    private String mqttUsername;
+    @Value("${mqtt.password:#{null}}")
+    private String mqttPassword;
 
     /**
      * 添加一个设备到服务
@@ -42,15 +50,13 @@ public class MqttConnectorInstallPoolService {
 
         xbMqttDataConnector = new MqttDataConnector();
         Map<String, String> configParams = new HashMap<>();
-        String host = "ws://" + CommonConfUtil.getConf("mqtt.broker") + ":" + CommonConfUtil.getConf("mqtt.port");
+        String host = "ws://" +mqttBroker + ":" + mqttPort;
 
-        String username = CommonConfUtil.getConf("mqtt.username");
-        String password = CommonConfUtil.getConf("mqtt.password");
         String topic = careDevice.getTopic();
         configParams.put("MQTT_HOST", host);
         configParams.put("MQTT_CLIENTID", cliendIdInstall);
-        configParams.put("MQTT_USERNAME", username);
-        configParams.put("MQTT_PASSWORD", password);
+        configParams.put("MQTT_USERNAME", mqttUsername);
+        configParams.put("MQTT_PASSWORD", mqttPassword);
         configParams.put("CLEAN_SESSION", "true");
 
         try {

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

@@ -7,7 +7,7 @@ import com.care.mqtt.tool.MqttDataConnectorCache;
 import com.care.common.entity.*;
 import com.care.common.enums.*;
 import com.care.common.service.*;
-import com.care.common.util.CommonConfUtil;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -26,6 +26,15 @@ public class MqttConnectorPoolService {
     @Resource
     private  MqttMsgService mqttMsgService;
 
+    @Value("${mqtt.broker:#{null}}")
+    private String mqttBroker;
+    @Value("${mqtt.port:#{null}}")
+    private String mqttPort;
+    @Value("${mqtt.username:#{null}}")
+    private String mqttUsername;
+    @Value("${mqtt.password:#{null}}")
+    private String mqttPassword;
+
     public void init() {
         QueryWrapper<CareDevice> queryWrapper = new QueryWrapper();
         queryWrapper.lambda().eq(CareDevice::getActiveStatus, DeviceActiveStatusEnum.ACTIVE.getValue());
@@ -53,15 +62,13 @@ public class MqttConnectorPoolService {
 
         xbMqttDataConnector = new MqttDataConnector();
         Map<String, String> configParams = new HashMap<>();
-        String host = "ws://" + CommonConfUtil.getConf("mqtt.broker") + ":" + CommonConfUtil.getConf("mqtt.port");
+        String host = "ws://" + mqttBroker + ":" + mqttPort;
 
-        String username = CommonConfUtil.getConf("mqtt.username");
-        String password = CommonConfUtil.getConf("mqtt.password");
         String topic = careDevice.getTopic();
         configParams.put("MQTT_HOST", host);
         configParams.put("MQTT_CLIENTID", cliendId);
-        configParams.put("MQTT_USERNAME", username);
-        configParams.put("MQTT_PASSWORD", password);
+        configParams.put("MQTT_USERNAME", mqttUsername);
+        configParams.put("MQTT_PASSWORD", mqttPassword);
         configParams.put("CLEAN_SESSION", "false");
         try {
             xbMqttDataConnector.createIotDataSource(configParams);

+ 67 - 0
src/main/java/com/care/mqtt/service/MqttHearbeatService.java

@@ -0,0 +1,67 @@
+package com.care.mqtt.service;
+
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.care.common.cache.RedisKeyConstant;
+import com.care.common.cache.RedisUtil;
+import com.care.common.entity.CareDevice;
+import com.care.common.enums.*;
+import com.care.common.service.CareDeviceService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 使用redis轮训方案实现延迟触发
+ * @Author: stw
+ * @Date: 2021/8/14
+ * @Desc:
+ */
+@Service
+public class MqttHearbeatService {
+    @Resource
+    private CareDeviceService careDeviceService;
+    @Resource
+    private RedisUtil redisUtil;
+
+
+    /**
+     * 读取数据库设备表,激活的,轮训看redis中是否有心跳消息,有则置为在线,没有置为下线
+     */
+    public void rotationDev() {
+
+        QueryWrapper<CareDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareDevice::getActiveStatus, DeviceActiveStatusEnum.ACTIVE.getValue());
+
+        List<CareDevice> careDeviceList = careDeviceService.list(queryWrapper);
+        if (CollUtil.isNotEmpty(careDeviceList)) {
+            List<CareDevice> careDeviceListNew = new ArrayList<>();
+            for (CareDevice careDevice : careDeviceList) {
+                CareDevice careDeviceNew = new CareDevice();
+                careDeviceNew.setId(careDevice.getId());
+
+                if (redisUtil.hget(RedisKeyConstant.MQTT_DEV_HEARBEAT_INFO,careDevice.getTopic()) != null) { //在线
+                    if(!DeviceStatusEnum.ONLINE.getValue().equals(careDevice.getStatus())){
+                        careDeviceNew.setStatus(DeviceStatusEnum.ONLINE.getValue());
+                        careDeviceListNew.add(careDeviceNew);
+                    }
+                } else { //离线
+                    if(!DeviceStatusEnum.OFFLINE.getValue().equals(careDevice.getStatus())){
+                        careDeviceNew.setStatus(DeviceStatusEnum.OFFLINE.getValue());
+                        careDeviceListNew.add(careDeviceNew);
+                    }
+                }
+            }
+
+            if (CollUtil.isNotEmpty(careDeviceListNew)){
+                careDeviceService.updateBatchById(careDeviceListNew);
+            }
+
+        }
+    }
+
+}

+ 0 - 1
src/main/java/com/care/mqtt/service/MqttMsgRedisService.java

@@ -82,7 +82,6 @@ public class MqttMsgRedisService {
      * @param execTime
      */
     public void addRedis(CareMqttMsg careMqttMsg, long execTime){
-
         String msg = String.valueOf(careMqttMsg.getId());
         redisUtil.zSetAdd(Constants.MQTT_MSG_LAG_KEY, msg, execTime);
     }

+ 19 - 5
src/main/java/com/care/mqtt/service/MqttMsgService.java

@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.care.bigscreen.service.BigScreenService;
 
+import com.care.common.cache.RedisKeyConstant;
+import com.care.common.cache.RedisUtil;
+import com.care.common.constant.Constants;
 import com.care.common.entity.*;
 
 import com.care.common.enums.ChambOrderStatusEnum;
@@ -49,7 +52,8 @@ public class MqttMsgService {
     private CareEventOrderChambService careEventOrderChambService;
     @Resource
     private MqttMsgRedisService mqttMsgRedisService;
-
+    @Resource
+    private RedisUtil redisUtil;
 
 
     private static Logger logger = LoggerFactory.getLogger(MqttMsgService.class);
@@ -72,6 +76,11 @@ public class MqttMsgService {
     private void handleOrderEventMessage(String topic, String mqttMessageStr) {
 
         try {
+            //处理心跳,放入redis
+            if (Constants.DEV_HEARTBEAT_MESSAGE.equals(mqttMessageStr)) {
+                redisUtil.hset(RedisKeyConstant.MQTT_DEV_HEARBEAT_INFO, topic, "1", RedisKeyConstant.MQTT_DEV_HEARBEAT_INFO_TIME);
+                return;
+            }
 
             Map map = JSON.parseObject(mqttMessageStr);
             String type = (String) map.get("type");
@@ -80,14 +89,12 @@ public class MqttMsgService {
                 logger.error("不是正确格式的消息");
                 return;
             }
-
             if(!"BreathHeartRate".equals(type) && !"FallDown".equals(type) && !"StayTooLong".equals(type)){
                // logger.error("不是要处理的消息");
                 return;
             }
-            QueryWrapper<CareDevice> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().eq(CareDevice::getTopic,topic);
-            CareDevice careDevice = careDeviceService.getOne(queryWrapper);
+
+            CareDevice  careDevice = getCareDevice(topic);
             if(careDevice == null) {
                 logger.error("数据库中没找到对应设备");
                 return;
@@ -226,6 +233,13 @@ public class MqttMsgService {
         }
     }
 
+    private CareDevice getCareDevice(String topic){
+        QueryWrapper<CareDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareDevice::getTopic,topic);
+        CareDevice careDevice = careDeviceService.getOne(queryWrapper);
+        return careDevice;
+    }
+
     private Integer getDelayTime(String type, CareDevice careDevice) {
         if ("FallDown".equals(type)) { //跌到
             return careDevice.getFallResponseTime();

+ 4 - 3
src/main/java/com/care/mqtt/service/MqttPublishService.java

@@ -4,10 +4,10 @@ package com.care.mqtt.service;
 import cn.hutool.core.bean.BeanUtil;
 import com.care.common.cache.RedisUtil;
 import com.care.common.constant.Constants;
-import com.care.common.util.CommonConfUtil;
 import com.care.mqtt.tool.MqttDataConnector;
 
 import com.care.common.entity.CareDevice;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -25,7 +25,8 @@ public class MqttPublishService {
     private MqttConnectorInstallPoolService mqttConnectorInstallPoolService;
     @Resource
     private RedisUtil redisUtil;
-
+    @Value("${mqtt.dev.jihuo.timeout:#{null}}")
+    private String mqttJihuoTimeout;
     /**
      * 发布消息
      */
@@ -46,7 +47,7 @@ public class MqttPublishService {
             mqttDataConnector.publish(topicInstall, data);
 
             //往redis里设置一个超时时钟,超时之后还没返回就认为超时了
-            Long timeout = Long.parseLong(CommonConfUtil.getConf("mqtt.dev.jihuo.timeout"));
+            Long timeout = Long.parseLong(mqttJihuoTimeout);
             redisUtil.set(Constants.MQTT_DEV_JIHUO_TIMEOUT_KEY + ":" + devCode + ":" + roomType,"", timeout);
             return true;
         } catch (Exception e) {

+ 2 - 1
src/main/java/com/care/mqtt/tool/MqttMessageListener.java

@@ -1,6 +1,7 @@
 package com.care.mqtt.tool;
 
 
+import com.care.common.constant.Constants;
 import com.care.mqtt.service.MqttMsgInstallService;
 import com.care.mqtt.service.MqttMsgService;
 import org.eclipse.paho.client.mqttv3.IMqttMessageListener;
@@ -35,7 +36,7 @@ public class MqttMessageListener implements IMqttMessageListener {
 //        System.out.println(mqttMessage.isDuplicate());
         String mqttMessageStr = mqttMessage.toString();
         //logger.info("mqttMessageStr == " + mqttMessageStr);
-        if(mqttMessageStr == null || !mqttMessageStr.startsWith("{")){
+        if(mqttMessageStr == null || (!mqttMessageStr.startsWith("{") && !Constants.DEV_HEARTBEAT_MESSAGE.equals(mqttMessageStr))){
             logger.error("不是正确格式的消息");
             return;
         }

+ 24 - 1
src/main/resources/application-dev.properties

@@ -29,4 +29,27 @@ spring.redis.jedis.pool.max-wait=-1
 spring.redis.jedis.pool.min-idle=5
 #################################### 以下是redis的集群标准配置 结束 ##############################
 file.savePath=/root/care/file
-file.url=https://rfcare.106tec.com/care-file/
+file.url=https://rfcare.106tec.com/care-file/
+
+############# 设备MQTT消息配置 #####################
+mqtt.broker=www.rfcare.cn
+mqtt.port=8083
+mqtt.username=test
+mqtt.password=public
+#mqtt.broker=49.233.41.108
+#mqtt.port=1883
+#mqtt.username=shangxingkeji
+#mqtt.password=sxkj@1234
+
+#是否开启mqtt消息接受服务,开启:1,不开启:0
+mqtt.on=1
+#设备激活返回消息超时(秒)
+mqtt.dev.jihuo.timeout=10
+
+#设备工作时接受消息的mqtt topic
+#mqtt.topic.work.template=5JPD/monitor/XXXXX/event
+mqtt.topic.work.template=/shangxingkeji/XXXXX/event
+
+#设备安装时发送消息的mqtt topic
+mqtt.topic.install.template=5JPD/monintor/XXXXX/control
+############# 设备MQTT消息配置 end #####################

+ 24 - 1
src/main/resources/application-prod.properties

@@ -32,4 +32,27 @@ spring.redis.jedis.pool.max-wait=-1
 spring.redis.jedis.pool.min-idle=5
 #################################### 以下是redis的集群标准配置 结束 ##############################
 file.savePath=/data/care/care-file
-file.url=https://www.rfcare.cn/care-file/
+file.url=https://www.rfcare.cn/care-file/
+
+############# 设备MQTT消息配置 #####################
+#mqtt.broker=www.rfcare.cn
+#mqtt.port=8083
+#mqtt.username=test
+#mqtt.password=public
+mqtt.broker=49.233.41.108
+mqtt.port=1883
+mqtt.username=shangxingkeji
+mqtt.password=sxkj@1234
+
+#是否开启mqtt消息接受服务,开启:1,不开启:0
+mqtt.on=1
+#设备激活返回消息超时(秒)
+mqtt.dev.jihuo.timeout=10
+
+#设备工作时接受消息的mqtt topic
+#mqtt.topic.work.template=5JPD/monitor/XXXXX/event
+mqtt.topic.work.template=/shangxingkeji/XXXXX/event
+
+#设备安装时发送消息的mqtt topic
+mqtt.topic.install.template=5JPD/monintor/XXXXX/control
+############# 设备MQTT消息配置 end #####################

+ 1 - 17
src/main/resources/common.properties

@@ -6,20 +6,4 @@ auth.jwt.secret=hong1mu2zhi3ruan4jian5
 auth.jwt.ttl.ms=86400000
 
 ############# 考拉外呼录音文件地址 #####################
-koala.mp3.url.host=http://49.235.128.177:8080/home/sharedfs/records
-
-############# 设备MQTT消息配置 #####################
-mqtt.broker=www.rfcare.cn
-mqtt.port=8083
-mqtt.username=test
-mqtt.password=public
-#是否开启mqtt消息接受服务,开启:1,不开启:0
-mqtt.on=1
-#设备激活返回消息超时(秒)
-mqtt.dev.jihuo.timeout=10
-
-#设备工作时接受消息的mqtt topic
-mqtt.topic.work.template=5JPD/monitor/XXXXX/event
-
-#设备安装时发送消息的mqtt topic
-mqtt.topic.install.template=5JPD/monintor/XXXXX/control
+koala.mp3.url.host=http://49.235.128.177:8080/home/sharedfs/records