From c1c4db6170a51f809862ff94393f0612f72645ec Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 17 十一月 2022 21:11:42 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/common/utils/TreeUtils.java | 65 ++++++++++++++++++++------------
1 files changed, 41 insertions(+), 24 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 0520963..591604d 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,23 +180,45 @@
* 鑾峰彇鏍戝浘鏁版嵁缁撴瀯
*/
@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("type", 0);
- 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 {
+ 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) {
+ 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());
+ map.put("id", user.getId());
+ map.put("key", "user_id");
+ 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);
@@ -200,24 +226,15 @@
wrapper.eq("host_id", hostId);
}
List<Dept> depts = deptService.selectList(wrapper);
-
- List<User> users = userService.getUserByDept(hostId, parent.getId());
- for (User user : users) {
- Map<String, Object> map = new HashMap<>();
- map.put("title", user.getNickname());
- map.put("id", user.getId());
- map.put("type", 1);
- list.add(map);
- }
-
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");
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