分享

hutool TreeUtil 树结构

 wwq图书世界 2022-06-16 发布于山东

问题: 关于景点的展示问题 景点有级别之分 成一个树形结构的 层级关系还在一个表中 实现起来一点麻

表结构:

想着用一下hutool的 TreeUtil来完成任务

实现结果展示:

上代码 

  1. @Override
  2. public List<Tree<String>> showAllScenic() {
  3. //展示所有的景点
  4. QueryWrapper<TicketScenic> wrapper = new QueryWrapper<>();
  5. wrapper.select("pk_id","parent_id","scenic_name","scenic_sort")
  6. .eq("scenic_deleted",false);
  7. List<TicketScenic> ticketScenic = ticketScenicMapper.selectList(wrapper);
  8. //配置 树
  9. TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
  10. //设置权重对应的名称 展示的顺序权重 0 max
  11. treeNodeConfig.setWeightKey("scenicSort");
  12. //设置ID对应的名称
  13. treeNodeConfig.setIdKey("pkId");
  14. //设置节点名对应的名称
  15. treeNodeConfig.setNameKey("scenicName");
  16. // 最大递归深度 4级目录
  17. treeNodeConfig.setDeep(SystemConstant.NUM_FOUR);
  18. //转换器 最顶层的id是0
  19. List<Tree<String>> treeNodes = TreeUtil.build(ticketScenic, "0", treeNodeConfig,
  20. (treeNode, tree) -> {
  21. //ID
  22. tree.setId(treeNode.getPkId().toString());
  23. //获取父节点ID
  24. tree.setParentId(treeNode.getParentId().toString());
  25. //顺序权重
  26. tree.setWeight(treeNode.getScenicSort());
  27. //名称
  28. tree.setName(treeNode.getScenicName());
  29. });
  30. return treeNodes;
  31. }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约