fix:废除标签同时废除标签文件关系

This commit is contained in:
s2042968 2025-03-20 15:36:32 +08:00
parent 52ed7f3a53
commit e26819824a
1 changed files with 7 additions and 2 deletions

View File

@ -187,9 +187,14 @@ public class EdTagLibraryServiceImpl extends ServiceImpl<EdTagLibraryMapper, EdT
Assert.notNull(tag, "标签不存在"); Assert.notNull(tag, "标签不存在");
// 如果是标签组级联删除其下的所有标签 // 如果是标签组级联删除其下的所有标签
if (tag.getType() == 0) { if (tag.getType() == 0) {
// 查询所有子标签
List<EdTagLibrary> tags = this.list(new LambdaQueryWrapper<EdTagLibrary>()
.eq(EdTagLibrary::getParentId, tagId));
// 删除所有子标签的关联关系
fileTagRelationMapper.delete(new LambdaQueryWrapper<FileTagRelation>().in(FileTagRelation::getTagId, tags.stream().map(EdTagLibrary::getTagId).collect(Collectors.toList())));
// 删除所有子标签
this.remove(new LambdaQueryWrapper<EdTagLibrary>().eq(EdTagLibrary::getParentId, tagId)); this.remove(new LambdaQueryWrapper<EdTagLibrary>().eq(EdTagLibrary::getParentId, tagId));
// 删除标签关联文件
fileTagRelationMapper.delete(new LambdaQueryWrapper<FileTagRelation>().eq(FileTagRelation::getTagId, tagId));
} }
// 删除本身 // 删除本身
boolean isDeleted = this.removeById(tagId); boolean isDeleted = this.removeById(tagId);