提交 db76ef0b 作者: zgz

编辑专家删除关联关系标签

上级 575fe717
...@@ -368,14 +368,14 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -368,14 +368,14 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
// 1. 将source集合转换为以tagId为键的Map,便于快速查找 // 1. 将source集合转换为以tagId为键的Map,便于快速查找
Map<String, CharacterTagMap> sourceMap = source.stream() Map<String, CharacterTagMap> sourceMap = source.stream()
.collect(Collectors.toMap(CharacterTagMap::getTagId, item -> item)); .collect(Collectors.toMap(CharacterTagMap::getTagId, item -> item));
// 2. 遍历target集合,删除source中不存在的记录 // 2. 找出target中source不存在的记录(即需要删除的记录)
target.removeIf(item -> !sourceMap.containsKey(item.getTagId()));
// 找出target中source不存在的记录(即需要删除的记录)
for (CharacterTagMap item : target) { for (CharacterTagMap item : target) {
if (!sourceMap.containsKey(item.getTagId())) { if (!sourceMap.containsKey(item.getTagId())) {
recordsToDelete.add(item); recordsToDelete.add(item);
} }
} }
// 遍历target集合,删除source中不存在的记录
target.removeIf(item -> !sourceMap.containsKey(item.getTagId()));
// 3. 遍历source集合,将target中不存在的记录添加进去 // 3. 遍历source集合,将target中不存在的记录添加进去
for (CharacterTagMap item : source) { for (CharacterTagMap item : source) {
boolean exists = target.stream() boolean exists = target.stream()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论