Browse Source

如果场景是放在文件夹中的,需要把升级后的场景id放入文件夹中

dengsixing 2 years ago
parent
commit
5ba66a846f

+ 6 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneUpgradeToV4Service.java

@@ -59,6 +59,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Objects;
+import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
@@ -514,6 +515,11 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
         if(CollUtil.isEmpty(proFolderList)){
             return;
         }
+        //先删除旧的id关系数据
+        Set<Long> removeIdList = proFolderList.stream().map(fs -> fs.getId()).collect(Collectors.toSet());
+        folderSceneService.removeByIds(removeIdList);
+
+        //写入新的id关系数据
         List<FolderScene> list = proFolderList.stream().map(fs -> {
             FolderScene plusFs = new FolderScene();
             plusFs.setFolderId(fs.getFolderId());