Browse Source

fix:bug 机构下人员查询更改

caozixuan 3 years ago
parent
commit
4a92749c9a

+ 39 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/RoleResult.java

@@ -0,0 +1,39 @@
+package com.qmth.teachcloud.common.bean.result;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 角色返回值
+ * @Author: CaoZixuan
+ * @Date: 2022-03-15
+ */
+public class RoleResult implements Serializable {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty("角色id")
+    private Long roleId;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty("角色名称")
+    private String roleName;
+
+    public Long getRoleId() {
+        return roleId;
+    }
+
+    public void setRoleId(Long roleId) {
+        this.roleId = roleId;
+    }
+
+    public String getRoleName() {
+        return roleName;
+    }
+
+    public void setRoleName(String roleName) {
+        this.roleName = roleName;
+    }
+}

+ 7 - 17
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/SysUserResult.java

@@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @Description: 机构下用户查询返回
@@ -31,12 +32,9 @@ public class SysUserResult implements Serializable {
     @JsonIgnore
     private Long orgId;
 
-    @ApiModelProperty(value = "角色id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long roleId;
+    @ApiModelProperty(value = "角色信息集合")
+    private List<RoleResult> roleResultList;
 
-    @ApiModelProperty(value = "角色名称")
-    private String roleName;
 
     public Long getId() {
         return id;
@@ -70,19 +68,11 @@ public class SysUserResult implements Serializable {
         this.orgId = orgId;
     }
 
-    public Long getRoleId() {
-        return roleId;
-    }
-
-    public void setRoleId(Long roleId) {
-        this.roleId = roleId;
-    }
-
-    public String getRoleName() {
-        return roleName;
+    public List<RoleResult> getRoleResultList() {
+        return roleResultList;
     }
 
-    public void setRoleName(String roleName) {
-        this.roleName = roleName;
+    public void setRoleResultList(List<RoleResult> roleResultList) {
+        this.roleResultList = roleResultList;
     }
 }

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserMapper.java

@@ -123,6 +123,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      * @param schoolId 学校id
      * @return 用户集合
      */
+    @Deprecated
     List<SysUserResult> findSysUserResultBySchoolId(@Param("schoolId") Long schoolId);
 
     /**

+ 24 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -43,6 +43,7 @@ import javax.annotation.Resource;
 import java.security.NoSuchAlgorithmException;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -1116,7 +1117,29 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public List<SysUserResult> findSysUserResultList() {
         Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
-        return this.baseMapper.findSysUserResultBySchoolId(schoolId);
+        List<SysUser> sysUserDatasource = sysUserService.list(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId));
+        List<SysRole> sysRoleDatasource = sysRoleService.list(new QueryWrapper<SysRole>().lambda().eq(SysRole::getSchoolId, schoolId));
+        List<SysUserRole> sysUserRoleDatasource = sysUserRoleService.list();
+
+        return sysUserDatasource.stream().flatMap(e -> {
+            Set<Long> roleIdSet = sysUserRoleDatasource.stream().filter(ur -> e.getId().equals(ur.getUserId())).map(SysUserRole::getRoleId).collect(Collectors.toSet());
+            List<RoleResult> roleResultCellList = new ArrayList<>();
+            if (roleIdSet.size() > 0) {
+                roleResultCellList = sysRoleDatasource.stream().filter(r -> roleIdSet.contains(r.getId())).flatMap(rr -> {
+                    RoleResult roleResult = new RoleResult();
+                    roleResult.setRoleId(rr.getId());
+                    roleResult.setRoleName(rr.getName());
+                    return Stream.of(roleResult);
+                }).collect(Collectors.toList());
+            }
+            SysUserResult sysUserResult = new SysUserResult();
+            sysUserResult.setId(e.getId());
+            sysUserResult.setRealName(e.getRealName());
+            sysUserResult.setMobileNumber(e.getMobileNumber());
+            sysUserResult.setOrgId(e.getOrgId());
+            sysUserResult.setRoleResultList(roleResultCellList);
+            return Stream.of(sysUserResult);
+        }).collect(Collectors.toList());
     }
 
     /**