瀏覽代碼

修复个人信息中角色与职位未进行租户隔离问题

fuyuchuan 1 天之前
父節點
當前提交
dfe22420e7

+ 1 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysProfileController.java

@@ -44,6 +44,7 @@ public class SysProfileController extends BaseController {
     @GetMapping
     public ApiResult profile() {
         LoginUser loginUser = SecurityUtils.getLoginUser();
+        Integer tenantId = loginUser.getTenantId();
         SysUserVO user = loginUser.getSysUser();
         Map<String, Object> map = new HashMap<>();
         map.put("user", user);

+ 2 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysPostMapper.java

@@ -53,7 +53,8 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * @param userName 用户名
      * @return 结果
      */
-    public List<SysPost> selectPostsByUserName(@Param("userName") String userName);
+    public List<SysPost> selectPostsByUserName(@Param("userName") String userName,
+                                               @Param("tenantId") Integer tenantId);
 
     /**
      * 删除岗位信息

+ 2 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleMapper.java

@@ -62,7 +62,8 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param userName 用户名
      * @return 角色列表
      */
-    public List<SysRole> selectRolesByUserName(@Param("userName") String userName);
+    public List<SysRole> selectRolesByUserName(@Param("userName") String userName,
+                                               @Param("tenantId") Integer tenantId);
 
     /**
      * 校验角色名称是否唯一

+ 4 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java

@@ -244,7 +244,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      */
     @Override
     public String selectUserRoleGroup(String userName) {
-        List<SysRole> list = roleMapper.selectRolesByUserName(userName);
+        Integer tenantId = SecurityUtils.getTenantId();
+        List<SysRole> list = roleMapper.selectRolesByUserName(userName, tenantId);
         StringBuffer idsStr = new StringBuffer();
         for (SysRole role : list) {
             idsStr.append(role.getRoleName()).append(",");
@@ -263,7 +264,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      */
     @Override
     public String selectUserPostGroup(String userName) {
-        List<SysPost> list = postMapper.selectPostsByUserName(userName);
+        Integer tenantId = SecurityUtils.getTenantId();
+        List<SysPost> list = postMapper.selectPostsByUserName(userName, tenantId);
         StringBuffer idsStr = new StringBuffer();
         for (SysPost post : list) {
             idsStr.append(post.getPostName()).append(",");

+ 1 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPostMapper.xml

@@ -68,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			 left join sys_user_post up on up.post_id = p.post_id
 			 left join sys_user u on u.user_id = up.user_id
 		where u.user_name = #{userName}
+		and p.tenant_id = #{tenantId}
 	</select>
 	
 	<select id="checkPostNameUnique" parameterType="String" resultMap="SysPostResult">

+ 3 - 1
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysRoleMapper.xml

@@ -84,7 +84,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	
 	<select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult">
 		<include refid="selectRoleVo"/>
-		WHERE r.del_flag = '0' and u.user_name = #{userName}
+		WHERE r.del_flag = '0'
+		and u.user_name = #{userName}
+		and r.tenant_id = #{tenantId}
 	</select>
 	
 	<select id="checkRoleNameUnique" parameterType="String" resultMap="SysRoleResult">