Pārlūkot izejas kodu

人员管理BUG修复

wangliang 2 gadi atpakaļ
vecāks
revīzija
e4e1ece504

+ 3 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserMapper.java

@@ -28,7 +28,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     IPage<UserDto> listForPrintSystem(Page<UserDto> page, @Param("schoolId") Long schoolId, @Param("userInfo") String userInfo, @Param("orgId") Long orgId, @Param("roleId") String roleId, @Param("enable") Boolean enable);
 
-    IPage<UserDto> listForReportSystem(Page<UserDto> page, @Param("schoolId") Long schoolId, @Param("roleId") String roleId, @Param("enable") Boolean enable,@Param("loginName") String loginName,@Param("realName") String realName);
+    IPage<UserDto> listForReportSystem(Page<UserDto> page, @Param("schoolId") Long schoolId, @Param("roleId") String roleId, @Param("enable") Boolean enable, @Param("loginName") String loginName, @Param("realName") String realName);
 
     List<BlurryUserDto> listUser(@Param("schoolId") Long schoolId, @Param("type") String type, @Param("courseCode") String courseCode, @Param("param") String param, @Param("orgIds") Set<Long> orgIds);
 
@@ -110,9 +110,10 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      *
      * @param roleId
      * @param name
+     * @param schoolId
      * @return
      */
-    List<ApproveUserResult> findByRoldIdAndMemberName(@Param("roleId") Long roleId, @Param("name") String name);
+    List<ApproveUserResult> findByRoldIdAndMemberName(@Param("roleId") Long roleId, @Param("name") String name, @Param("schoolId") Long schoolId);
 
     List<CloudUserPushStatusDto> findCloudUserPushStatus(@Param("userId") Long userId, @Param("schoolId") Long schoolId);
 }

+ 3 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserRoleMapper.java

@@ -18,9 +18,11 @@ import java.util.List;
  */
 public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
 
-    List<SysRole> listRoleByUserId(Long userId);
+    List<SysRole> listRoleByUserId(@Param("userId") Long userId);
 
     List<MenuDto> listByUserId(@Param("userId") Long userId, @Param("schoolId") Long schoolId);
 
     List<MenuDto> listAll(@Param("schoolId") Long schoolId);
+
+    List<SysUserRole> listByRoleId(@Param("roleId") Long roleId, @Param("schoolId") Long schoolId);
 }

+ 5 - 8
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserRoleServiceImpl.java

@@ -1,11 +1,9 @@
 package com.qmth.teachcloud.common.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.common.bean.result.MenuResult;
 import com.qmth.teachcloud.common.entity.SysRole;
-import com.qmth.teachcloud.common.entity.SysRolePrivilege;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUserRole;
 import com.qmth.teachcloud.common.mapper.SysUserRoleMapper;
@@ -15,10 +13,7 @@ import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -34,11 +29,13 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
     @Resource
     CommonCacheService commonCacheService;
 
+    @Resource
+    SysUserRoleMapper sysUserRoleMapper;
+
     @Override
     public List<SysUserRole> listByRoleId(Long id) {
-        QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(SysUserRole::getRoleId, id);
-        return this.list(queryWrapper);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        return sysUserRoleMapper.listByRoleId(id, sysUser.getSchoolId());
     }
 
     @Override

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

@@ -961,7 +961,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
      */
     @Override
     public List<ApproveUserResult> findByRoldIdAndMemberName(Long roleId, String name) {
-        return sysUserMapper.findByRoldIdAndMemberName(roleId, name);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        return sysUserMapper.findByRoldIdAndMemberName(roleId, name, sysUser.getSchoolId());
     }
 
     @Override

+ 3 - 0
teachcloud-common/src/main/resources/mapper/SysUserMapper.xml

@@ -346,6 +346,9 @@
             <if test="name != null and name != ''">
                 and su.real_name like concat('%',#{name},'%')
             </if>
+            <if test="schoolId != null and schoolId != ''">
+                and su.school_id = #{schoolId}
+            </if>
             and su.enable = 1
             and srgm.enable = 1
         </where>

+ 51 - 24
teachcloud-common/src/main/resources/mapper/SysUserRoleMapper.xml

@@ -4,42 +4,69 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.qmth.teachcloud.common.entity.SysUserRole">
-    <result column="id" property="id" />
-        <result column="user_id" property="userId" />
-        <result column="role_id" property="roleId" />
+        <result column="id" property="id"/>
+        <result column="user_id" property="userId"/>
+        <result column="role_id" property="roleId"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        select id, user_id, role_id from sys_user_role
+        select id, user_id, role_id
+        from sys_user_role
     </sql>
     <select id="listRoleByUserId" resultMap="com.qmth.teachcloud.common.mapper.SysRoleMapper.BaseResultMap">
-        SELECT
-            *
-        FROM
-            sys_role a
-        WHERE
-            EXISTS( SELECT
-                    1
-                FROM
-                    sys_user_role b
-                WHERE
-                    a.id = b.role_id AND b.user_id = #{userId})
+        SELECT *
+        FROM sys_role a
+        WHERE EXISTS(SELECT 1
+                     FROM sys_user_role b
+                     WHERE a.id = b.role_id
+                       AND b.user_id = #{userId})
     </select>
 
     <select id="listByUserId" resultType="com.qmth.teachcloud.common.bean.dto.MenuDto">
-        SELECT
-            b.id,b.name,b.url,b.type,b.parent_id as parentId,b.school_id as schoolId,b.`sequence`,b.enable
-        FROM
-            sys_user_role a
-            join sys_role_privilege srp on srp.role_id = a.role_id
-            JOIN sys_privilege b ON srp.privilege_id = b.id
-        WHERE
-            a.user_id = #{userId} and b.school_id = #{schoolId}
+        SELECT b.id,
+               b.name,
+               b.url,
+               b.type,
+               b.parent_id as parentId,
+               b.school_id as schoolId,
+               b.`sequence`,
+               b.enable
+        FROM sys_user_role a
+                 join sys_role_privilege srp on srp.role_id = a.role_id
+                 JOIN sys_privilege b ON srp.privilege_id = b.id
+        WHERE a.user_id = #{userId}
+          and b.school_id = #{schoolId}
     </select>
 
     <select id="listAll" resultType="com.qmth.teachcloud.common.bean.dto.MenuDto">
-        select b.id,b.name,b.url,b.type,b.parent_id as parentId,b.school_id as schoolId,b.`sequence`,b.enable from sys_privilege b where b.school_id = #{schoolId}
+        select b.id,
+               b.name,
+               b.url,
+               b.type,
+               b.parent_id as parentId,
+               b.school_id as schoolId,
+               b.`sequence`,
+               b.enable
+        from sys_privilege b
+        where b.school_id = #{schoolId}
+    </select>
+
+    <select id="listByRoleId" resultType="com.qmth.teachcloud.common.entity.SysUserRole">
+        select
+        *
+        from
+        sys_user_role sur
+        join sys_user su on
+        su.id = sur.user_id
+        <where>
+            <if test="roleId != null and roleId != ''">
+                and sur.role_id = #{roleId}
+            </if>
+            <if test="schoolId != null and schoolId != ''">
+                and su.school_id = #{schoolId}
+            </if>
+        </where>
     </select>
 
 </mapper>