浏览代码

add mq监听

18339543638 3 年之前
父节点
当前提交
8ef65bc3ef

+ 1 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/entity/BusDeviceEntity.java

@@ -60,6 +60,7 @@ public class BusDeviceEntity extends TenantGenericEntity<String,String> {
     private AliIotConfig config;
 
 
+
     @ApiModelProperty(value = "sim卡卡号")
     @Length(max = 255,message = "sim卡卡号不得超过255个字符")
     private String simIccid;

+ 9 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/IDeviceClient.java

@@ -54,4 +54,13 @@ public interface IDeviceClient {
      * @return boolean
      */
     boolean existDevice(String deviceId);
+
+    /**
+     * 描述: 判断设备是否已存在
+     * @author lifang
+     * @date 2022/9/9 14:15
+     * @param deviceId
+     * @return boolean
+     */
+    void setExistDevice(String deviceId);
 }

+ 11 - 1
nb-service/iot-service/src/main/java/com/nb/mq/listener/RabbitMqListener.java

@@ -5,9 +5,11 @@ import com.nb.mq.entity.PcAnalgesicScoreEntity;
 import com.nb.mq.entity.PcPatientEntity;
 import com.nb.mq.entity.PcPumpEntity;
 import com.nb.web.api.entity.BusClinicEntity;
+import com.nb.web.api.entity.BusDeviceEntity;
 import com.nb.web.api.entity.BusEvaluationEntity;
 import com.nb.web.api.entity.BusInfusionHistoryEntity;
 import com.nb.web.api.entity.common.BusDeviceRunningEntity;
+import com.nb.web.api.enums.DeviceStatusEnum2;
 import com.nb.web.api.feign.*;
 import com.nb.web.api.feign.result.PatientMonitorDetailResult;
 import lombok.AllArgsConstructor;
@@ -83,13 +85,21 @@ public class RabbitMqListener {
         PcPumpEntity source = JSONUtil.toBean(body, PcPumpEntity.class);
         BusDeviceRunningEntity device = source.toDevice();
         if (!deviceClient.existDevice(device.getDeviceId())) {
-//            deviceClient.saveDevice()
+            deviceClient.saveDevice(createDevice(device));
+            deviceClient.setExistDevice(device.getDeviceId());
         }
         device.setClassification(deviceClient.getClassification(device.getDeviceId()));
         device.setDataNumber(deviceClient.nextDataNumber(device.getDeviceId()));
         iotMsgHandler.async(device,device.getDeviceId());
     }
 
+    private BusDeviceEntity createDevice(  BusDeviceRunningEntity source ){
+        BusDeviceEntity result = new BusDeviceEntity();
+        result.setDeviceId(source.getDeviceId());
+        result.setTenantId(source.getTenantId());
+        result.setStatus(DeviceStatusEnum2.OFFLINE);
+        return result;
+    }
     /**
      * 描述: 监听评分队列
      * @author lifang

+ 5 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusDeviceService.java

@@ -240,6 +240,11 @@ public class LocalBusDeviceService extends BaseService<BusDeviceMapper, BusDevic
         return    deviceRegistry.getOperator(deviceId).getExist();
     }
 
+    @Override
+    public void setExistDevice(String deviceId) {
+         deviceRegistry.getOperator(deviceId).setExist(true);
+    }
+
     /**
      * @author 龙三郎
      * 该方法用于从阿里云同步设备,系统暂时不允许创建非阿里云物联网平台设备。意思是系统中的设备必须存在于阿里云物联网平台。