• 树形结构的节点作为查询参数业务


    1、业务描述

      有一个树结构,存在一个唯一的code和一个父节点的pcode,要求前端传入任意层的code匹配这个code对应的所有子节点对应的数据。

    2、解决思路

      因为无法判定传入的code到底在那层,so 直接递归调用查询判断,如果有子节点就继续差,如果没有子节点,说明当前节点就是最后节点,直接写入收集集合中。

    3、业务实现 代码如下

    1. public List getCodeInfo(String code, List info) {
    2. CdRegional cdRegional = new CdRegional();
    3. cdRegional.setParentCode(code);
    4. //通过封装传入的节点到对应的方法去查询对应的节点信息
    5. List list1 = cdRegionalService.findList(cdRegional);
    6. //没有子节点就说明自己是最后一个信息
    7. if (list1.isEmpty()) {
    8. //写入集合
    9. info.add(code);
    10. } else {
    11. //将查询到的所有节点遍历查询子节点
    12. list1.forEach(item -> {
    13. List codeInfo = getCodeInfo(item.getRegionalCode(), info);
    14. });
    15. }
    16. return info;
    17. }

    注释:基本代码都是该框架对应的信息,注重注释就行了,

    1. public List getInfoBy(WholelParam wholelParam) {
    2. //将子节点信息都写入新集合codeInfo
    3. //新建一个集合用于接收最后的数据
    4. List code = new ArrayList<>();
    5. //传入节点信息和用于收集的集合
    6. List codeInfo = getCodeInfo(wholelParam.getRegions().get(0), code);
    7. String rentRange = wholelParam.getMin_rent() + "-" + wholelParam.getMax_rent();
    8. if (wholelParam.getMax_rent() == 0.0) {
    9. wholelParam.setMax_rent(null);
    10. }
    11. // String array = wholelParam.getRegions().get(0);
    12. Integer page = (wholelParam.getPage() - 1) * 6;
    13. List list = cdWholeleasemanagementDao.getInfoBy(wholelParam.getHuxing(),
    14. wholelParam.getGengduox(),
    15. rentRange, codeInfo, wholelParam.getMin_rent(), wholelParam.getMax_rent(),
    16. wholelParam.getMetros(),
    17. page
    18. );
    19. return list;
    20. }

  • 相关阅读:
    常用的消息协议
    【C++笔试强训】第十七天
    C语言描述数据结构 —— 二叉树(2)Top-K问题
    MongoDB
    使用fastapi和pulumi搭建基于Azure云的IAC Restful API服务 — 对外发布
    XC5013 马达驱动和充电集成一体的控制芯片 一档输出芯片
    常见简单的排序算法汇总
    Qt/C++中的异步编程
    6W+字记录实验全过程 | 探索Alluxio经济化数据存储策略
    Vue_Bug npm install报错 code:128
  • 原文地址:https://blog.csdn.net/qq_37753562/article/details/132623708