|  |  | 
 |  |  | 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; | 
 |  |  | 
 |  |  |     @Cacheable(cacheNames="deptUserTree",key="#id") | 
 |  |  |     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"); | 
 |  |  |         List<Map<String, Object>> childrens = new ArrayList<>(); | 
 |  |  |         map.put("children", childrens); | 
 |  |  |         dealUserDept(dept, childrens, hostId, userId); | 
 |  |  |         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 { | 
 |  |  |             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; | 
 |  |  |     } | 
 |  |  |  |