|
|
|
@ -281,8 +281,14 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR |
|
|
|
} else { |
|
|
|
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(); |
|
|
|
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) |
|
|
|
@ -367,13 +382,17 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR |
|
|
|
if (Objects.isNull(sourceEntity)) { |
|
|
|
throw new SysException("当前移动节点关系不存在"); |
|
|
|
} |
|
|
|
|
|
|
|
sourceEntity.setTag(StringUtils.isBlank(dto.getTag()) ? dto.getToName() : dto.getTag()); |
|
|
|
|
|
|
|
if(Objects.isNull(dto.getPid()) || Objects.equals(dto.getPid(), 0L)){ |
|
|
|
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 { |
|
|
|
IotThingRelationDetailEntity targetEntity = mapper.selectOneById(dto.getPid()); |
|
|
|
if (Objects.isNull(targetEntity)) { |
|
|
|
@ -384,8 +403,14 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR |
|
|
|
} |
|
|
|
if(sourceEntity.getFromId().equals(targetEntity.getToId())){ |
|
|
|
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{ |
|
|
|
//查询当前关系下所有节点信息 |
|
|
|
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()); |
|
|
|
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())); |
|
|
|
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 |
|
|
|
@ -578,8 +618,17 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR |
|
|
|
reslutList.forEach(item -> item.setSort(sort1.getAndIncrement())); |
|
|
|
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 |
|
|
|
@ -609,8 +658,15 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl<IotThingR |
|
|
|
s.setSort(sort.getAndIncrement()); |
|
|
|
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); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
|