瀏覽代碼

用户列表,部门名称,角色名称显示

lyhzzz 2 年之前
父節點
當前提交
cf219ebf12

+ 8 - 1
src/main/java/com/fdkankan/fusion/entity/TmUser.java

@@ -102,5 +102,12 @@ public class TmUser implements Serializable {
     private List<String> roleList;
     @TableField(exist = false)
     private List<String> permsList;
-
+    @TableField(exist = false)
+    private String departmentName;
+    @TableField(exist = false)
+    private String roleId;
+    @TableField(exist = false)
+    private String roleKey;
+    @TableField(exist = false)
+    private String roleName;
 }

+ 4 - 0
src/main/java/com/fdkankan/fusion/service/ITmDepartmentService.java

@@ -3,7 +3,9 @@ package com.fdkankan.fusion.service;
 import com.fdkankan.fusion.entity.TmDepartment;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -30,4 +32,6 @@ public interface ITmDepartmentService extends IService<TmDepartment> {
     String getDeptId();
 
     List<TmDepartment> getSonByDeptId(String deptId);
+
+    HashMap<String, TmDepartment> getMapByDeptIds(Set<String> deptIdSet);
 }

+ 4 - 0
src/main/java/com/fdkankan/fusion/service/ITmRoleService.java

@@ -3,6 +3,9 @@ package com.fdkankan.fusion.service;
 import com.fdkankan.fusion.entity.TmRole;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.HashMap;
+import java.util.Set;
+
 /**
  * <p>
  * 角色表 服务类
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ITmRoleService extends IService<TmRole> {
 
+    HashMap<String, TmRole> getMapByUserIds(Set<String> userIds);
 }

+ 12 - 4
src/main/java/com/fdkankan/fusion/service/impl/TmDepartmentServiceImpl.java

@@ -25,10 +25,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -199,4 +196,15 @@ public class TmDepartmentServiceImpl extends ServiceImpl<ITmDepartmentMapper, Tm
         List<String> ids = list.stream().map(TmDepartment::getId).collect(Collectors.toList());
         converSon(ids,listAll);
     }
+
+
+    @Override
+    public HashMap<String, TmDepartment> getMapByDeptIds(Set<String> deptIdSet) {
+        HashMap<String,TmDepartment> map = new HashMap<>();
+        if(deptIdSet.size() >0){
+            List<TmDepartment> tmDepartments = this.listByIds(deptIdSet);
+            tmDepartments.forEach(entity -> map.put(entity.getId(),entity));
+        }
+        return map;
+    }
 }

+ 40 - 0
src/main/java/com/fdkankan/fusion/service/impl/TmRoleServiceImpl.java

@@ -1,11 +1,21 @@
 package com.fdkankan.fusion.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.fusion.entity.TmRole;
+import com.fdkankan.fusion.entity.TmUserRole;
 import com.fdkankan.fusion.mapper.ITmRoleMapper;
 import com.fdkankan.fusion.service.ITmRoleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.fusion.service.ITmUserRoleService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  * 角色表 服务实现类
@@ -17,4 +27,34 @@ import org.springframework.stereotype.Service;
 @Service
 public class TmRoleServiceImpl extends ServiceImpl<ITmRoleMapper, TmRole> implements ITmRoleService {
 
+    @Autowired
+    ITmUserRoleService tmUserRoleService;
+
+    @Override
+    public HashMap<String, TmRole> getMapByUserIds(Set<String> userIds) {
+        HashMap<String, TmRole> map = new HashMap<>();
+        HashMap<String, TmRole> userMap = new HashMap<>();
+        HashMap<String, String > userRoleMap = new HashMap<>();
+        if(userIds.size() >0){
+            LambdaQueryWrapper<TmUserRole> wrapper = new LambdaQueryWrapper<>();
+            wrapper.in(TmUserRole::getUserId,userIds);
+            List<TmUserRole> list = tmUserRoleService.list(wrapper);
+            list.forEach(entity -> userRoleMap.put(entity.getUserId(),entity.getRoleId()));
+            Set<String> roleIds = list.stream().map(TmUserRole::getRoleId).collect(Collectors.toSet());
+            if(roleIds.size() >0){
+                List<TmRole> tmRoles = this.listByIds(roleIds);
+                tmRoles.forEach(entity -> map.put(entity.getId(),entity));
+            }
+        }
+        if(map.size() >0 && userRoleMap.size() >0){
+            for (String userId : userRoleMap.keySet()) {
+                String roleId = userRoleMap.get(userId);
+                if(StringUtils.isNotBlank(roleId) && map.get(roleId) !=null){
+                    userMap.put(userId,map.get(roleId));
+                }
+            }
+
+        }
+        return userMap;
+    }
 }

+ 18 - 0
src/main/java/com/fdkankan/fusion/service/impl/TmUserServiceImpl.java

@@ -24,6 +24,7 @@ import com.fdkankan.fusion.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.redis.util.RedisUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -278,6 +279,23 @@ public class TmUserServiceImpl extends ServiceImpl<ITmUserMapper, TmUser> implem
         }
         wrapper.in(TmUser::getDeptId,deptIds);
         Page<TmUser> page = this.page(new Page<>(pageNum, pageSize), wrapper);
+        Set<String> deptIdSet = page.getRecords().stream().map(TmUser::getDeptId).collect(Collectors.toSet());
+        HashMap<String,TmDepartment> map = tmDepartmentService.getMapByDeptIds(deptIdSet);
+        Set<String> userIds = page.getRecords().stream().map(TmUser::getId).collect(Collectors.toSet());
+        HashMap<String,TmRole> roleMap = tmRoleService.getMapByUserIds(userIds);
+
+        for (TmUser record : page.getRecords()) {
+            TmDepartment tmDepartment = map.get(record.getDeptId());
+            if(tmDepartment != null){
+                record.setDepartmentName(tmDepartment.getName());
+            }
+            TmRole tmRole = roleMap.get(record.getId());
+            if(tmRole !=null){
+                record.setRoleId(tmRole.getId());
+                record.setRoleKey(tmRole.getRoleKey());
+                record.setRoleName(tmRole.getRoleName());
+            }
+        }
         return PageInfo.PageInfo(page);
     }