From f709a2f8599de9e0a0eb3c888620e1ebfb662528 Mon Sep 17 00:00:00 2001 From: lishuai Date: Wed, 11 Sep 2024 16:07:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E5=85=B8=E5=AF=BC=E5=85=A5=202024?= =?UTF-8?q?=E5=B9=B49=E6=9C=8811=E6=97=A515:47:40?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/QueueDeviceEventListener.java | 39 +++++-------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/modules/thing/src/main/java/com/thing/listener/QueueDeviceEventListener.java b/modules/thing/src/main/java/com/thing/listener/QueueDeviceEventListener.java index 172f3e1..9382788 100644 --- a/modules/thing/src/main/java/com/thing/listener/QueueDeviceEventListener.java +++ b/modules/thing/src/main/java/com/thing/listener/QueueDeviceEventListener.java @@ -1,7 +1,6 @@ package com.thing.listener; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.IdUtil; import com.fasterxml.jackson.databind.node.ObjectNode; import com.thing.common.cache.constants.CacheNameEnum; import com.thing.common.core.enumeration.GateWayStatus; @@ -15,7 +14,6 @@ import com.thing.common.core.utils.JacksonUtil; import com.thing.common.core.utils.TokenGenerator; import com.thing.common.data.dto.QueueMsgDTO; import com.thing.thing.cache.service.ThingCache; -import com.thing.thing.context.service.ThingManageContextService; import com.thing.thing.entity.dto.IotThingViewDTO; import com.thing.thing.entity.entity.IotThingEntity; import com.thing.thing.entity.service.IotThingEntityService; @@ -23,7 +21,6 @@ import com.thing.thing.model.dto.IotThingModelDTO; import com.thing.thing.model.entity.IotThingModelEntity; import com.thing.thing.model.service.IotThingModelService; import com.thing.transport.api.adaptor.JsonConverter; -import jakarta.annotation.Resource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -40,8 +37,6 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class QueueDeviceEventListener { - private final ThingManageContextService thingManageContextService; - private final IotThingModelService thingModelService; private final IotThingEntityService entityService; @@ -96,40 +91,27 @@ public class QueueDeviceEventListener { .setOrigin(origin); // modelEntity.setId(IdUtil.getSnowflake().nextId()) // .setCreateDate(DateTimeUtils.getCurrentTime()) -// .setCreateDate(DateTimeUtils.getCurrentTime()) - ; +// .setCreateDate(DateTimeUtils.getCurrentTime()); insertModelList.add(modelEntity); } //物实体的构建 -// if (!Objects.equals(queueMsgDTO.getTenantCode(), 1001L)) { -// ObjectNode entityNode = thingCache.findObjectNode(CacheNameEnum.THING_ENTITY, tenantCode + ":" + thingCode); -// if (null == entityNode || entityNode.isEmpty()) { -// IotThingEntity newThingEntity = createThingEntity(thingCode, queueMsgDTO.getTenantCode(), queueMsgDTO.getCompanyId(), queueMsgDTO.getDeptId()); -// insertEntityList.add(newThingEntity); -// } -// } - ObjectNode entityNode = thingCache.findObjectNode(CacheNameEnum.THING_ENTITY, tenantCode + ":" + thingCode); - if (null == entityNode || entityNode.isEmpty()) { - IotThingEntity newThingEntity = createThingEntity(thingCode, queueMsgDTO.getTenantCode(), queueMsgDTO.getCompanyId(), queueMsgDTO.getDeptId()); - insertEntityList.add(newThingEntity); + if (!Objects.equals(queueMsgDTO.getTenantCode(), 1001L)) { + ObjectNode entityNode = thingCache.findObjectNode(CacheNameEnum.THING_ENTITY, tenantCode + ":" + thingCode); + if (null == entityNode || entityNode.isEmpty()) { + IotThingEntity newThingEntity = createThingEntity(thingCode, queueMsgDTO.getTenantCode(), queueMsgDTO.getCompanyId(), queueMsgDTO.getDeptId()); + insertEntityList.add(newThingEntity); + } } - } - } - //插入新的物模型 - if (CollectionUtils.isNotEmpty(insertModelList)) { -// thingModelService.saveBatch(insertModelList); + } } //更新老的物模型 if (CollectionUtils.isNotEmpty(updateModelList)) { -// thingModelService.updateBatch(updateModelList); insertModelList.addAll(updateModelList); } //更新物实体的模型:uniqueModelList有值,物实体不一定有值 - List distinctStudentFile = new ArrayList<>(); if (CollectionUtils.isNotEmpty(insertModelList)) { - //物实体的插入和缓存更新 if (CollectionUtils.isNotEmpty(insertEntityList)) { distinctStudentFile.addAll(insertEntityList.stream() @@ -146,7 +128,7 @@ public class QueueDeviceEventListener { }); if(CollectionUtils.isNotEmpty(insertModelList)){ thingModelService.saveOrUpdateBatch(insertModelList); - updateModleCache(insertModelList); + updateModelCache(insertModelList); } if(CollectionUtils.isNotEmpty(distinctStudentFile)){ entityService.saveOrUpdateBatch(distinctStudentFile); @@ -157,7 +139,7 @@ public class QueueDeviceEventListener { } } - private void updateModleCache(List insertModelList) { + private void updateModelCache(List insertModelList) { List iotThingModelDTOS = ConvertUtils.sourceToTarget(insertModelList, IotThingModelDTO.class); List modelList = JsonConverter.convertToJsonObjectListObjectNode(iotThingModelDTOS); List topicMap = thingCache.getTopicMap(CacheNameEnum.THING_MODEL); @@ -180,7 +162,6 @@ public class QueueDeviceEventListener { private void updateEntityCache(List distinctStudentFile) { //更新物实体缓存 List entityList = distinctStudentFile.stream().map(e -> { -// ObjectNode keyMap = thingCache.getKeyMap(CacheNameEnum.THING_ENTITY, e.getCode()); ObjectNode modelMap = thingCache.findAccurateObjectNode(CacheNameEnum.THING_MODEL, e.getCode()); return new IotThingViewDTO() .setLat(e.getLat())