diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java index b414aa5..bb957c3 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java @@ -35,4 +35,6 @@ public interface MetadataService extends BaseService { void updateNeo4j(Neo4jInfo neo4jInfo); Neo4jInfo getNeo4j(); + + void deleteAll(Long id); } diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java index e07adbb..c9ed107 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java @@ -180,6 +180,21 @@ public class MetadataServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MetadataEntity::getParentId, id); + List childs = baseMapper.selectList(wrapper); + for (MetadataEntity child : childs) { + deleteAll(child.getId()); + } + baseMapper.deleteById(id); + LambdaQueryWrapper propertyWrapper = new LambdaQueryWrapper<>(); + propertyWrapper.eq(MetadataPropertyEntity::getMetadataId, id); + metadataPropertyDao.delete(propertyWrapper); + + } + private void recursionAddParent(MetadataEntity metadataEntity, List resultList){ if(resultList.stream().noneMatch(item -> metadataEntity.getId().equals(item.getId()))) { resultList.add(metadataEntity);