From 398213305237fe9e8a4ee84a2c052ec5f393c4f9 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 28 二月 2025 17:56:45 +0800 Subject: [PATCH] 修改管理后台接口bug --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java index 54a5fcc..b75396f 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.panzhihua.common.interfaces.OperLog; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.sangeshenbian.model.entity.Department; import com.panzhihua.sangeshenbian.model.entity.SystemUser; import com.panzhihua.sangeshenbian.service.IDepartmentService; @@ -14,7 +15,9 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** @@ -37,21 +40,29 @@ @ApiOperation(value = "获取单位列表", tags = {"三个身边后台-用户管理"}) @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取单位列表") public R<List<Department>> list(String name){ - List<Department> list = departmentService.list(); - List<Department> departmentList1 = list.stream().filter(s -> s.getPid() == 0).collect(Collectors.toList()); - for (Department department : departmentList1) { - List<Department> departmentList2 = list.stream().filter(s -> s.getPid().equals(department.getId())).collect(Collectors.toList()); + List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 4)); + Set<Integer> collect3 = list4.stream().map(Department::getPid).collect(Collectors.toSet()); + List<Department> list3 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 3) + .or().in(collect3.size() > 0, Department::getId, collect3)); + Set<Integer> collect2 = list3.stream().map(Department::getPid).collect(Collectors.toSet()); + List<Department> list2 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 2) + .or().in(collect2.size() > 0, Department::getId, collect2)); + Set<Integer> collect1 = list2.stream().map(Department::getPid).collect(Collectors.toSet()); + List<Department> list1 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 1) + .or().in(collect1.size() > 0, Department::getId, collect1)); + for (Department department : list1) { + List<Department> departmentList2 = list2.stream().filter(s -> s.getPid().equals(department.getId())).collect(Collectors.toList()); for (Department department1 : departmentList2) { - List<Department> departmentList3 = list.stream().filter(s -> s.getPid().equals(department1.getId())).collect(Collectors.toList()); + List<Department> departmentList3 = list3.stream().filter(s -> s.getPid().equals(department1.getId())).collect(Collectors.toList()); for (Department department2 : departmentList3) { - List<Department> departmentList4 = list.stream().filter(s -> s.getPid().equals(department2.getId())).collect(Collectors.toList()); + List<Department> departmentList4 = list4.stream().filter(s -> s.getPid().equals(department2.getId())).collect(Collectors.toList()); department2.setChild(departmentList4); } department1.setChild(departmentList3); } department.setChild(departmentList2); } - return R.ok(departmentList1); + return R.ok(list1); } -- Gitblit v1.7.1