From 1f653021b7c278f2e505101ce0364e2160be51d1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 08 十一月 2022 13:37:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/common/utils/TreeUtils.java | 30 +++++---------- src/main/java/com/zy/crm/system/service/impl/RoleServiceImpl.java | 35 +++++++++++++++++ src/main/java/com/zy/crm/system/service/RoleService.java | 5 ++ 3 files changed, 49 insertions(+), 21 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 3f5872a..4d6cda0 100644 --- a/src/main/java/com/zy/crm/common/utils/TreeUtils.java +++ b/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); diff --git a/src/main/java/com/zy/crm/system/service/RoleService.java b/src/main/java/com/zy/crm/system/service/RoleService.java index 6a51052..ce0a230 100644 --- a/src/main/java/com/zy/crm/system/service/RoleService.java +++ b/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); + } diff --git a/src/main/java/com/zy/crm/system/service/impl/RoleServiceImpl.java b/src/main/java/com/zy/crm/system/service/impl/RoleServiceImpl.java index da93c1f..02b3021 100644 --- a/src/main/java/com/zy/crm/system/service/impl/RoleServiceImpl.java +++ b/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<>(); + } + } + } -- Gitblit v1.9.1