Prechádzať zdrojové kódy

第二版,后台bug

suntianwu 3 rokov pred
rodič
commit
f060d4beb3

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

@@ -6,9 +6,11 @@ import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.care.common.entity.*;
 import com.care.common.enums.DeviceActiveStatusEnum;
+import com.care.common.enums.DeviceStatusEnum;
 import com.care.common.service.*;
 import com.care.common.util.JsonUtil;
 import com.care.installation.vo.*;
+import com.care.mqtt.service.MqttConnectorPoolService;
 import com.care.mqtt.service.MqttPublishService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -33,6 +35,8 @@ public class RoomService {
     private CareDeviceService careDeviceService;
     @Resource
     private MqttPublishService mqttPublishService;
+    @Resource
+    private MqttConnectorPoolService mqttConnectorPoolService;
 
     public RoomVO getRoomInfo(String devCode) {
         QueryWrapper<CareRoom> queryWrapper = new QueryWrapper<>();
@@ -258,9 +262,17 @@ public class RoomService {
         if (careRoomBool && careRoomSensorBool && careRoomGateListBool && careRoomRegionListBool) {
             //激活
             careDevice.setActiveStatus(DeviceActiveStatusEnum.ACTIVE.getValue());
+            //启动通道
+            mqttConnectorPoolService.addOne(careDevice);
+            //上线
+            careDevice.setStatus(DeviceStatusEnum.ONLINE.getValue());
             careDeviceService.updateById(careDevice);
             return true;
         } else {
+            //设备离线
+            careDevice.setStatus(DeviceStatusEnum.OFFLINE.getValue());
+            mqttConnectorPoolService.removeOne(careDevice);
+            //未激活
             careDevice.setActiveStatus(DeviceActiveStatusEnum.NOACTIVE.getValue());
             careDeviceService.updateById(careDevice);
             return false;