转树结构
This commit is contained in:
+34
@@ -15,7 +15,10 @@ import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/split/sarFileSplitMenu")
|
||||
@@ -51,9 +54,40 @@ public class SarFileSplitMenuEOController extends JeroController<SarFileSplitMen
|
||||
// page.setOrderBy("regexp_replace(replace('.'||NAME, '.', '.00000000'), '0+([^\\.]{8})', '\\1')");
|
||||
page.setOrderBy("display_seq asc");
|
||||
List<SarFileSplitMenuEO> getList = sarFileSplitMenuEOService.queryByList(page);
|
||||
//转树结构
|
||||
List<SarFileSplitMenuEO> menuEOS = convertToTree(getList);
|
||||
getList = menuEOS.get(0).getChildren();
|
||||
return Result.OK(getList);
|
||||
}
|
||||
|
||||
public List<SarFileSplitMenuEO> convertToTree(List<SarFileSplitMenuEO> menuList) {
|
||||
// 创建一个Map来保存id与SarFileSplitMenuEO对象的映射关系
|
||||
Map<String, SarFileSplitMenuEO> menuMap = new HashMap<>();
|
||||
for (SarFileSplitMenuEO menu : menuList) {
|
||||
menuMap.put(menu.getId(), menu);
|
||||
}
|
||||
List<SarFileSplitMenuEO> rootNodes = new ArrayList<>();
|
||||
for (SarFileSplitMenuEO menu : menuList) {
|
||||
String parentId = menu.getPId();
|
||||
if (parentId == null) {
|
||||
// 如果pid为空,将其作为根节点添加到结果集
|
||||
rootNodes.add(menu);
|
||||
} else {
|
||||
// 如果pid不为空,将其作为子节点添加到父节点中
|
||||
SarFileSplitMenuEO parentMenu = menuMap.get(parentId);
|
||||
if (parentMenu != null) {
|
||||
List<SarFileSplitMenuEO> childList = parentMenu.getChildren();
|
||||
if (childList == null) {
|
||||
childList = new ArrayList<SarFileSplitMenuEO>();
|
||||
parentMenu.setChildren(childList);
|
||||
}
|
||||
childList.add(menu);
|
||||
}
|
||||
}
|
||||
}
|
||||
return rootNodes;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "文档拆分条款目录-新增Y")
|
||||
@PostMapping("/addMenu")
|
||||
@RequiresPermissions("split:sarFileSplitMenu:add")
|
||||
|
||||
Reference in New Issue
Block a user