src/main/java/com/zy/crm/common/utils/TreeUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/crm/system/service/RoleService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/crm/system/service/impl/RoleServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/crm/common/utils/TreeUtils.java
@@ -7,7 +7,6 @@ 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; @@ -189,7 +188,6 @@ 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, userId); @@ -198,22 +196,8 @@ } public void dealUserDept(Dept parent, List<Map<String, Object>> list, Long hostId, Long userId) { 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 = new ArrayList<>(); Role role = roleService.selectById(userService.selectById(userId).getRoleId()); if (role.getCode().equals("salesman")) { users.add(userService.selectById(userId)); } else { users = userService.getUserByDept(hostId, parent.getId()); } // 人员 List<User> users = roleService.getUserByRoleCode(hostId, parent.getId(), userId); for (User user : users) { Map<String, Object> map = new HashMap<>(); map.put("title", user.getNickname()); @@ -222,14 +206,20 @@ 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, userId); src/main/java/com/zy/crm/system/service/RoleService.java
@@ -2,7 +2,12 @@ import com.baomidou.mybatisplus.service.IService; import com.zy.crm.system.entity.Role; import com.zy.crm.system.entity.User; import java.util.List; public interface RoleService extends IService<Role> { List<User> getUserByRoleCode(Long hostId, Long deptId, Long userId); } src/main/java/com/zy/crm/system/service/impl/RoleServiceImpl.java
@@ -1,12 +1,45 @@ package com.zy.crm.system.service.impl; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import com.core.common.Cools; import com.zy.crm.system.entity.Role; import com.zy.crm.system.entity.User; import com.zy.crm.system.mapper.RoleMapper; import com.zy.crm.system.service.RoleService; import com.zy.crm.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Collections; import java.util.List; @Service("roleService") public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements RoleService { @Autowired private UserService userService; @Override public List<User> getUserByRoleCode(Long hostId, Long deptId, Long userId) { Role role = this.selectById(userService.selectById(userId).getRoleId()); if (Cools.isEmpty(role) || Cools.isEmpty(role.getCode())) { return new ArrayList<>(); } switch (role.getCode()) { case "boss": case "manager": return userService.getUserByDept(hostId, deptId); case "salesman": User user = userService.selectById(userId); if (deptId.equals(user.getDeptId())) { return Collections.singletonList(user); } else { return new ArrayList<>(); } default: return new ArrayList<>(); } } }