update 导入拆分结果,增加补偿机制,父级目录的同级目录也增加排序

This commit is contained in:
lijiarao
2024-09-25 19:37:15 +08:00
parent 4eb5f4a754
commit 398492cde1
@@ -379,6 +379,7 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
public void updateMenuLevel(String sourceIds, String parentId, Long displaySeq) {
// 要移动到的节点信息
SarFileSplitMenuEO parentMenu = baseMapper.findById(parentId);
List<String> sourceIdList = Arrays.asList(sourceIds.split(","));
// 获取要移动到的层级的最后一个 的排序值
List<SarFileSplitMenuEO> lastMenuList = getLastMenu(parentMenu.getId(),displaySeq,sourceIdList);
@@ -406,6 +407,20 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
sarFileSplitMenuEO.setDisplaySeq(displaySeq+i+1);
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
//获得要移动目录的大于排序的同级目录
String parentParentId = parentMenu.getParentId();
Long parentDisplaySeq = parentMenu.getDisplaySeq();
if (StringUtils.isNotBlank(parentParentId)){
List<SarFileSplitMenuEO> lastMenu = getLastMenu(parentParentId, parentDisplaySeq, new ArrayList<>());
List<SarFileSplitMenuEO> allList1 = new ArrayList<>();
getChildren(allList1, lastMenu);
for (int i = 0; i < allList1.size(); i++) {
SarFileSplitMenuEO sarFileSplitMenuEO = allList1.get(i);
Long displaySeq1 = sarFileSplitMenuEO.getDisplaySeq();
sarFileSplitMenuEO.setDisplaySeq(displaySeq1+allList.size()+i+1);
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
}
//this.updateBatchById(updateList);
// 要移动的节点所有子集(包括本身)