java Mybatis 递归Ztree树

第一步:通过获取orgID去查询树:

public ResponseData listAllOrgnization(HttpServletRequest request){


    Map map=UserUtil.getUser(request);
    String uid=String.valueOf(map.get("uid"));
    User user = userMapper.getUser(uid);
    String org_id=user.getOrg_id();
    QueryWrapper<M_Organization> w_org=new QueryWrapper<>();
    w_org.eq("org_state","2");
    w_org.eq("id",org_id);
    w_org.and(Wrapper -> Wrapper.eq("org_cl_state", "2").or().eq("org_hj_state", "112").or().eq("org_bg_state", "12").or().eq("org_cx_state", "1112"));

  /*  w_org.and(Wrapper -> Wrapper.eq("org_cl_state", "2").or().isNull("org_cl_state"));
    w_org.and(Wrapper -> Wrapper.eq("org_hj_state", "112").or().isNull("org_hj_state"));
    w_org.and(Wrapper -> Wrapper.eq("org_bg_state", "12").or().isNull("org_bg_state"));
    w_org.and(Wrapper -> Wrapper.eq("org_cx_state", "1112").or().isNull("org_cx_state"));*/
    //w_org.and(Wrapper -> Wrapper.eq("org_cl_state", "1").or().eq("org_hj_state", "111").or().eq("org_bg_state", "11").or().eq("org_cx_state", "1111"));
    List<M_Organization> w_org_list=baseMapper.selectList(w_org);
    List<M_Organization> w_org_list_all=new ArrayList<M_Organization>();
    for(M_Organization org:w_org_list){
        w_org_list_all = buildChilTree(org.getId(),w_org_list_all);
        //w_org_list.addAll(w_org_list_all);
    }
    w_org_list.addAll(w_org_list_all);

    return ResponseData.success(ResponseData.DEFAULT_SUCCESS_CODE,ResponseData.DEFAULT_SUCCESS_MESSAGE,w_org_list);
}

 

第一步:递归方法

// 递归获取子节点数据
public List<M_Organization>  buildChilTree (String pid,
                                      List<M_Organization> w_org_list_all) {
    QueryWrapper<M_Organization> w_org=new QueryWrapper<>();
    w_org.eq("pId",pid);
    w_org.eq("org_state","2");
    w_org.and(Wrapper -> Wrapper.eq("org_cl_state", "2").or().eq("org_hj_state", "112").or().eq("org_bg_state", "12").or().eq("org_cx_state", "1112"));
    List<M_Organization> org_child_list = baseMapper.selectList(w_org);
    w_org_list_all.addAll(org_child_list);
    for(M_Organization org :org_child_list){
        buildChilTree(org.getId(),w_org_list_all);
    }
  return w_org_list_all;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海之天才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值