package com.zy.crm.manager.utils; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.crm.manager.entity.param.UserChildrenParam; import com.zy.crm.system.entity.Dept; import com.zy.crm.system.entity.Host; import com.zy.crm.system.entity.User; import com.zy.crm.system.service.DeptService; import com.zy.crm.system.service.HostService; import com.zy.crm.system.service.UserService; import java.util.ArrayList; import java.util.List; import java.util.Map; public class UserChildrenParamUtils { private static Long id = 0L; public static UserChildrenParam getUserChildrenParamList(User user) { id = 1L; switch (user.getRoleId().intValue()){ case 1: case 2: return getUserChildrenParamListDept(user.getDeptId()); case 3: return getUserChildrenParam(user); default: return null; } } public static UserChildrenParam getUserChildrenParamListDept(Long deptId) { DeptService deptService = SpringUtils.getBean(DeptService.class); Dept dept = deptService.selectById(deptId); if (Cools.isEmpty(dept) || Cools.isEmpty(dept.getName())){ return null; } UserService userService = SpringUtils.getBean(UserService.class); List users = userService.selectList(new EntityWrapper().eq("dept_id", dept.getId())); List list = new ArrayList<>(); for (User userNow:users){ id++; UserChildrenParam userChildrenParam = getUserChildrenParam(userNow); list.add(userChildrenParam); } if (dept.getLevel()!=2){ List deptList = deptService.selectList(new EntityWrapper().eq("parent_id", dept.getId())); for (Dept dept1:deptList){ UserChildrenParam userChildrenParamListDept = getUserChildrenParamListDept(dept1.getId()); list.add(userChildrenParamListDept); } } id++; UserChildrenParam userChildrenParam = new UserChildrenParam(id,0L,dept.getId(),dept.getName(),list); return userChildrenParam; } public static UserChildrenParam getUserChildrenParam(User user) { UserChildrenParam userChildrenParam = new UserChildrenParam(); userChildrenParam.setId(id); userChildrenParam.setUserId(user.getId()); userChildrenParam.setDeptId(user.getDeptId()); userChildrenParam.setLabel(user.getNickname()); return userChildrenParam; } }