Browse Source

物关系标签修改

2024年9月30日11:10:04
thing_master
lishuai 1 year ago
parent
commit
28a7c6a351
  1. 92
      modules/thing/src/main/java/com/thing/thing/relation/detail/service/impl/IotThingRelationDetailServiceImpl.java

92
modules/thing/src/main/java/com/thing/thing/relation/detail/service/impl/IotThingRelationDetailServiceImpl.java

@ -281,8 +281,14 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR
} else { } else {
mapper.updateByQuery(item, QueryWrapper.create().eq(IotThingRelationDetailEntity::getId, item.getId())); mapper.updateByQuery(item, QueryWrapper.create().eq(IotThingRelationDetailEntity::getId, item.getId()));
} }
cache.updateAccurateKeyEntity(CacheNameEnum.THING_DETAIL_RELATION,
item.getRootId()+CacheInit.KEY+item.getId()+CacheInit.KEY+item.getRootThingId(),ConvertUtils.sourceToTarget(item, IotThingRelationDetailDTO.class));
ObjectNode node = JsonConverter.convertToJsonObjectObjectNode(item);
List<ObjectNode> mapAccurateKey = cache.findMapAccurateKey(CacheNameEnum.THING_MODEL, item.getToCode());
if (CollectionUtils.isNotEmpty(mapAccurateKey)) {
String status = mapAccurateKey.get(0).get(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField()).asText();
node.put(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField(), status);
}
cache.updateAccurateKeyMap(CacheNameEnum.THING_DETAIL_RELATION,
item.getRootId() + CacheInit.KEY + item.getId() + CacheInit.KEY + item.getRootThingId(), node);
}); });
} }
@ -355,8 +361,17 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR
}).toList(); }).toList();
mapper.insertBatch(list); mapper.insertBatch(list);
//更新缓存 //更新缓存
list.forEach(entity -> cache.updateAccurateKeyEntity(CacheNameEnum.THING_DETAIL_RELATION,
entity.getRootId()+CacheInit.KEY+entity.getId()+CacheInit.KEY+entity.getRootThingId(),ConvertUtils.sourceToTarget(entity, IotThingRelationDetailDTO.class)));
list.forEach(entity ->
{
ObjectNode node = JsonConverter.convertToJsonObjectObjectNode(entity);
List<ObjectNode> mapAccurateKey = cache.findMapAccurateKey(CacheNameEnum.THING_MODEL, entity.getToCode());
if (CollectionUtils.isNotEmpty(mapAccurateKey)) {
String status = mapAccurateKey.get(0).get(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField()).asText();
node.put(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField(), status);
}
cache.updateAccurateKeyMap(CacheNameEnum.THING_DETAIL_RELATION,
entity.getRootId() + CacheInit.KEY + entity.getId() + CacheInit.KEY + entity.getRootThingId(), node);
});
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -367,13 +382,17 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR
if (Objects.isNull(sourceEntity)) { if (Objects.isNull(sourceEntity)) {
throw new SysException("当前移动节点关系不存在"); throw new SysException("当前移动节点关系不存在");
} }
sourceEntity.setTag(StringUtils.isBlank(dto.getTag()) ? dto.getToName() : dto.getTag()); sourceEntity.setTag(StringUtils.isBlank(dto.getTag()) ? dto.getToName() : dto.getTag());
if(Objects.isNull(dto.getPid()) || Objects.equals(dto.getPid(), 0L)){ if(Objects.isNull(dto.getPid()) || Objects.equals(dto.getPid(), 0L)){
mapper.update(sourceEntity); mapper.update(sourceEntity);
cache.updateAccurateKeyEntity(CacheNameEnum.THING_DETAIL_RELATION,
sourceEntity.getRootId()+CacheInit.KEY+sourceEntity.getId()+CacheInit.KEY+sourceEntity.getRootThingId(),ConvertUtils.sourceToTarget(sourceEntity, IotThingRelationDetailDTO.class));
ObjectNode node = JsonConverter.convertToJsonObjectObjectNode(sourceEntity);
List<ObjectNode> mapAccurateKey = cache.findMapAccurateKey(CacheNameEnum.THING_MODEL, sourceEntity.getToCode());
if(CollectionUtils.isNotEmpty(mapAccurateKey)){
String status = mapAccurateKey.get(0).get(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField()).asText();
node.put(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField(), status);
}
cache.updateAccurateKeyMap(CacheNameEnum.THING_DETAIL_RELATION,
sourceEntity.getRootId()+CacheInit.KEY+sourceEntity.getId()+CacheInit.KEY+sourceEntity.getRootThingId(),node);
} else { } else {
IotThingRelationDetailEntity targetEntity = mapper.selectOneById(dto.getPid()); IotThingRelationDetailEntity targetEntity = mapper.selectOneById(dto.getPid());
if (Objects.isNull(targetEntity)) { if (Objects.isNull(targetEntity)) {
@ -384,8 +403,14 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR
} }
if(sourceEntity.getFromId().equals(targetEntity.getToId())){ if(sourceEntity.getFromId().equals(targetEntity.getToId())){
mapper.update(sourceEntity); mapper.update(sourceEntity);
cache.updateAccurateKeyEntity(CacheNameEnum.THING_DETAIL_RELATION,
sourceEntity.getRootId()+CacheInit.KEY+sourceEntity.getId()+CacheInit.KEY+sourceEntity.getRootThingId(),ConvertUtils.sourceToTarget(sourceEntity, IotThingRelationDetailDTO.class));
ObjectNode node = JsonConverter.convertToJsonObjectObjectNode(sourceEntity);
List<ObjectNode> mapAccurateKey = cache.findMapAccurateKey(CacheNameEnum.THING_MODEL, sourceEntity.getToCode());
if(CollectionUtils.isNotEmpty(mapAccurateKey)){
String status = mapAccurateKey.get(0).get(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField()).asText();
node.put(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField(), status);
}
cache.updateAccurateKeyMap(CacheNameEnum.THING_DETAIL_RELATION,
sourceEntity.getRootId()+CacheInit.KEY+sourceEntity.getId()+CacheInit.KEY+sourceEntity.getRootThingId(),node);
}else{ }else{
//查询当前关系下所有节点信息 //查询当前关系下所有节点信息
List<IotThingRelationDetailEntity> iotThingRelationDetailEntities = mapper.selectListByQuery(QueryWrapper.create().eq(IotThingRelationDetailEntity::getRootId, dto.getRootId())); List<IotThingRelationDetailEntity> iotThingRelationDetailEntities = mapper.selectListByQuery(QueryWrapper.create().eq(IotThingRelationDetailEntity::getRootId, dto.getRootId()));
@ -430,8 +455,14 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR
{ {
item.setSort(sort.incrementAndGet()); item.setSort(sort.incrementAndGet());
mapper.updateByQuery(item, QueryWrapper.create().eq(IotThingRelationDetailEntity::getId, item.getId())); mapper.updateByQuery(item, QueryWrapper.create().eq(IotThingRelationDetailEntity::getId, item.getId()));
cache.updateAccurateKeyEntity(CacheNameEnum.THING_DETAIL_RELATION,
item.getRootId()+CacheInit.KEY+item.getId()+CacheInit.KEY+item.getRootThingId(),ConvertUtils.sourceToTarget(item, IotThingRelationDetailDTO.class));
ObjectNode node = JsonConverter.convertToJsonObjectObjectNode(sourceEntity);
List<ObjectNode> mapAccurateKey = cache.findMapAccurateKey(CacheNameEnum.THING_MODEL, sourceEntity.getToCode());
if(CollectionUtils.isNotEmpty(mapAccurateKey)){
String status = mapAccurateKey.get(0).get(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField()).asText();
node.put(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField(), status);
}
cache.updateAccurateKeyMap(CacheNameEnum.THING_DETAIL_RELATION,
sourceEntity.getRootId()+CacheInit.KEY+sourceEntity.getId()+CacheInit.KEY+sourceEntity.getRootThingId(),node);
} }
); );
} }
@ -544,8 +575,17 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR
resultList.forEach(item -> item.setSort(sort.getAndIncrement())); resultList.forEach(item -> item.setSort(sort.getAndIncrement()));
this.updateBatch(resultList); this.updateBatch(resultList);
//更新缓存 //更新缓存
resultList.forEach(s -> cache.updateAccurateKeyEntity(CacheNameEnum.THING_DETAIL_RELATION,
s.getRootId()+CacheInit.KEY+s.getId()+CacheInit.KEY+s.getRootThingId(),ConvertUtils.sourceToTarget(s, IotThingRelationDetailDTO.class)));
resultList.forEach(s ->
{
ObjectNode node = JsonConverter.convertToJsonObjectObjectNode(s);
List<ObjectNode> mapAccurateKey = cache.findMapAccurateKey(CacheNameEnum.THING_MODEL, s.getToCode());
if (CollectionUtils.isNotEmpty(mapAccurateKey)) {
String status = mapAccurateKey.get(0).get(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField()).asText();
node.put(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField(), status);
}
cache.updateAccurateKeyMap(CacheNameEnum.THING_DETAIL_RELATION,
s.getRootId() + CacheInit.KEY + s.getId() + CacheInit.KEY + s.getRootThingId(), node);
});
} }
@Override @Override
@ -578,8 +618,17 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR
reslutList.forEach(item -> item.setSort(sort1.getAndIncrement())); reslutList.forEach(item -> item.setSort(sort1.getAndIncrement()));
this.updateBatch(reslutList); this.updateBatch(reslutList);
//更新缓存 //更新缓存
reslutList.forEach(s -> cache.updateAccurateKeyEntity(CacheNameEnum.THING_DETAIL_RELATION,
s.getRootId()+CacheInit.KEY+s.getId()+CacheInit.KEY+s.getRootThingId(),ConvertUtils.sourceToTarget(s, IotThingRelationDetailDTO.class)));
reslutList.forEach(s ->
{
ObjectNode node = JsonConverter.convertToJsonObjectObjectNode(s);
List<ObjectNode> mapAccurateKey = cache.findMapAccurateKey(CacheNameEnum.THING_MODEL, s.getToCode());
if (CollectionUtils.isNotEmpty(mapAccurateKey)) {
String status = mapAccurateKey.get(0).get(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField()).asText();
node.put(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField(), status);
}
cache.updateAccurateKeyMap(CacheNameEnum.THING_DETAIL_RELATION,
s.getRootId() + CacheInit.KEY + s.getId() + CacheInit.KEY + s.getRootThingId(), node);
});
} }
@Override @Override
@ -609,8 +658,15 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR
s.setSort(sort.getAndIncrement()); s.setSort(sort.getAndIncrement());
mapper.insertOrUpdateSelective(s); mapper.insertOrUpdateSelective(s);
//更新缓存 //更新缓存
cache.updateAccurateKeyEntity(CacheNameEnum.THING_DETAIL_RELATION,
s.getRootId()+CacheInit.KEY+s.getId()+CacheInit.KEY+s.getRootThingId(),ConvertUtils.sourceToTarget(s, IotThingRelationDetailDTO.class));
ObjectNode node = JsonConverter.convertToJsonObjectObjectNode(s);
List<ObjectNode> mapAccurateKey = cache.findMapAccurateKey(CacheNameEnum.THING_MODEL, s.getToCode());
if (CollectionUtils.isNotEmpty(mapAccurateKey)) {
String status = mapAccurateKey.get(0).get(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField()).asText();
node.put(CacheNameEnum.ModelField.THING_MODEL_STATUS.getField(), status);
}
cache.updateAccurateKeyMap(CacheNameEnum.THING_DETAIL_RELATION,
s.getRootId() + CacheInit.KEY + s.getId() + CacheInit.KEY + s.getRootThingId(), node);
}); });
} }

Loading…
Cancel
Save