From 336b1ee18a1d1ff4230e8edb7faa43e3b5ef1ffc Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 08 九月 2023 08:50:35 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/common/utils/TreeUtils.java | 68 +++++++++++++++++++++------------- 1 files changed, 42 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zy/crm/common/utils/TreeUtils.java b/src/main/java/com/zy/crm/common/utils/TreeUtils.java index 7c534bb..a370333 100644 --- a/src/main/java/com/zy/crm/common/utils/TreeUtils.java +++ b/src/main/java/com/zy/crm/common/utils/TreeUtils.java @@ -7,8 +7,10 @@ import com.zy.crm.manager.service.NodeService; import com.zy.crm.manager.service.TagService; import com.zy.crm.system.entity.Dept; +import com.zy.crm.system.entity.Role; import com.zy.crm.system.entity.User; import com.zy.crm.system.service.DeptService; +import com.zy.crm.system.service.RoleService; import com.zy.crm.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; @@ -31,6 +33,8 @@ private DeptService deptService; @Autowired private UserService userService; + @Autowired + private RoleService roleService; /******************************** 褰掔被鏍� *********************************/ @@ -176,33 +180,39 @@ * 鑾峰彇鏍戝浘鏁版嵁缁撴瀯 */ @Cacheable(cacheNames="deptUserTree",key="#id") - public ArrayList<Map<String, Object>> getDeptUserTree(String id, Long hostId){ + public ArrayList<Map<String, Object>> getDeptUserTree(String id, Long hostId, Long userId){ ArrayList<Map<String, Object>> result = new ArrayList<>(); - Dept dept = deptService.selectById(id); - // 涓昏妭鐐� - Map<String, Object> map = new HashMap<>(); - map.put("title", dept.getName()); - map.put("id", dept.getId()); - map.put("spread", true); - map.put("key", "dept_id"); -// map.put("icon", "layui-icon layui-icon-star-fill"); - List<Map<String, Object>> childrens = new ArrayList<>(); - map.put("children", childrens); - dealUserDept(dept, childrens, hostId); - result.add(map); + User user = userService.selectById(userId); + Role role = roleService.selectById(user.getRoleId()); + if (role.getCode().equals("salesman")) { + Map<String, Object> map = new HashMap<>(); + map.put("title", user.getNickname()); + map.put("id", user.getId()); + map.put("key", "user_id"); + map.put("icon", "layui-icon layui-icon-friends"); + result.add(map); + } else { + if (role.getId()==1){ + id="19"; + } + Dept dept = deptService.selectById(id); + // 涓昏妭鐐� + Map<String, Object> map = new HashMap<>(); + map.put("title", dept.getName()); + map.put("id", dept.getId()); + map.put("spread", true); + map.put("key", "dept_id"); + List<Map<String, Object>> childrens = new ArrayList<>(); + map.put("children", childrens); + dealUserDept(dept, childrens, hostId, userId); + result.add(map); + } return result; } - public void dealUserDept(Dept parent, List<Map<String, Object>> list, Long hostId) { - Wrapper<Dept> wrapper = new EntityWrapper<Dept>() - .eq("parent_id", parent.getId()) - .eq("status", 1); - if (hostId != null) { - wrapper.eq("host_id", hostId); - } - List<Dept> depts = deptService.selectList(wrapper); - - List<User> users = userService.getUserByDept(hostId, parent.getId()); + public void dealUserDept(Dept parent, List<Map<String, Object>> list, Long hostId, Long userId) { + // 浜哄憳 + List<User> users = roleService.getUserByRoleCode(hostId, parent.getId(), userId); for (User user : users) { Map<String, Object> map = new HashMap<>(); map.put("title", user.getNickname()); @@ -211,17 +221,23 @@ map.put("icon", "layui-icon layui-icon-friends"); list.add(map); } - + // 閮ㄩ棬 + Wrapper<Dept> wrapper = new EntityWrapper<Dept>() + .eq("parent_id", parent.getId()) + .eq("status", 1); + if (hostId != null) { + wrapper.eq("host_id", hostId); + } + List<Dept> depts = deptService.selectList(wrapper); for (Dept dept : depts) { Map<String, Object> map = new HashMap<>(); map.put("title", dept.getName()); map.put("id", dept.getId()); map.put("spread", true); map.put("key", "dept_id"); -// map.put("icon", "layui-icon layui-icon-star-fill"); List<Map<String, Object>> childrens = new ArrayList<>(); map.put("children", childrens); - dealUserDept(dept, childrens, hostId); + dealUserDept(dept, childrens, hostId, userId); list.add(map); } } -- Gitblit v1.9.1