修改时检查用户数据权限范围
This commit is contained in:
		| @@ -83,6 +83,13 @@ public interface ISysDeptService | ||||
|      */ | ||||
|     public String checkDeptNameUnique(SysDept dept); | ||||
|  | ||||
|     /** | ||||
|      * 校验部门是否有数据权限 | ||||
|      *  | ||||
|      * @param deptId 部门id | ||||
|      */ | ||||
|     public void checkDeptDataScope(Long deptId); | ||||
|  | ||||
|     /** | ||||
|      * 新增保存部门信息 | ||||
|      *  | ||||
|   | ||||
| @@ -82,6 +82,13 @@ public interface ISysRoleService | ||||
|      */ | ||||
|     public void checkRoleAllowed(SysRole role); | ||||
|  | ||||
|     /** | ||||
|      * 校验角色是否有数据权限 | ||||
|      *  | ||||
|      * @param roleId 角色id | ||||
|      */ | ||||
|     public void checkRoleDataScope(Long roleId); | ||||
|  | ||||
|     /** | ||||
|      * 通过角色ID查询角色使用数量 | ||||
|      *  | ||||
|   | ||||
| @@ -97,6 +97,13 @@ public interface ISysUserService | ||||
|      */ | ||||
|     public void checkUserAllowed(SysUser user); | ||||
|  | ||||
|     /** | ||||
|      * 校验用户是否有数据权限 | ||||
|      *  | ||||
|      * @param userId 用户id | ||||
|      */ | ||||
|     public void checkUserDataScope(Long userId); | ||||
|  | ||||
|     /** | ||||
|      * 新增用户信息 | ||||
|      *  | ||||
|   | ||||
| @@ -11,9 +11,12 @@ import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.domain.TreeSelect; | ||||
| import com.ruoyi.common.core.domain.entity.SysDept; | ||||
| import com.ruoyi.common.core.domain.entity.SysRole; | ||||
| import com.ruoyi.common.core.domain.entity.SysUser; | ||||
| import com.ruoyi.common.core.text.Convert; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.SecurityUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.common.utils.spring.SpringUtils; | ||||
| import com.ruoyi.system.mapper.SysDeptMapper; | ||||
| import com.ruoyi.system.mapper.SysRoleMapper; | ||||
| import com.ruoyi.system.service.ISysDeptService; | ||||
| @@ -171,6 +174,26 @@ public class SysDeptServiceImpl implements ISysDeptService | ||||
|         return UserConstants.UNIQUE; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 校验部门是否有数据权限 | ||||
|      *  | ||||
|      * @param deptId 部门id | ||||
|      */ | ||||
|     @Override | ||||
|     public void checkDeptDataScope(Long deptId) | ||||
|     { | ||||
|         if (!SysUser.isAdmin(SecurityUtils.getUserId())) | ||||
|         { | ||||
|             SysDept dept = new SysDept(); | ||||
|             dept.setDeptId(deptId); | ||||
|             List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept); | ||||
|             if (StringUtils.isEmpty(depts)) | ||||
|             { | ||||
|                 throw new ServiceException("没有权限访问部门数据!"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 新增保存部门信息 | ||||
|      *  | ||||
|   | ||||
| @@ -11,7 +11,9 @@ import org.springframework.transaction.annotation.Transactional; | ||||
| import com.ruoyi.common.annotation.DataScope; | ||||
| import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.domain.entity.SysRole; | ||||
| import com.ruoyi.common.core.domain.entity.SysUser; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.SecurityUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.common.utils.spring.SpringUtils; | ||||
| import com.ruoyi.system.domain.SysRoleDept; | ||||
| @@ -187,6 +189,26 @@ public class SysRoleServiceImpl implements ISysRoleService | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 校验角色是否有数据权限 | ||||
|      *  | ||||
|      * @param roleId 角色id | ||||
|      */ | ||||
|     @Override | ||||
|     public void checkRoleDataScope(Long roleId) | ||||
|     { | ||||
|         if (!SysUser.isAdmin(SecurityUtils.getUserId())) | ||||
|         { | ||||
|             SysRole role = new SysRole(); | ||||
|             role.setRoleId(roleId); | ||||
|             List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role); | ||||
|             if (StringUtils.isEmpty(roles)) | ||||
|             { | ||||
|                 throw new ServiceException("没有权限访问角色数据!"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 通过角色ID查询角色使用数量 | ||||
|      *  | ||||
|   | ||||
| @@ -14,6 +14,7 @@ import com.ruoyi.common.core.domain.entity.SysUser; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.SecurityUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.common.utils.spring.SpringUtils; | ||||
| import com.ruoyi.system.domain.SysPost; | ||||
| import com.ruoyi.system.domain.SysUserPost; | ||||
| import com.ruoyi.system.domain.SysUserRole; | ||||
| @@ -227,6 +228,26 @@ public class SysUserServiceImpl implements ISysUserService | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 校验用户是否有数据权限 | ||||
|      *  | ||||
|      * @param userId 用户id | ||||
|      */ | ||||
|     @Override | ||||
|     public void checkUserDataScope(Long userId) | ||||
|     { | ||||
|         if (!SysUser.isAdmin(SecurityUtils.getUserId())) | ||||
|         { | ||||
|             SysUser user = new SysUser(); | ||||
|             user.setUserId(userId); | ||||
|             List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user); | ||||
|             if (StringUtils.isEmpty(users)) | ||||
|             { | ||||
|                 throw new ServiceException("没有权限访问用户数据!"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 新增保存用户信息 | ||||
|      *  | ||||
|   | ||||
| @@ -30,6 +30,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 	<select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult"> | ||||
|         <include refid="selectDeptVo"/> | ||||
|         where d.del_flag = '0' | ||||
| 		<if test="deptId != null and deptId != 0"> | ||||
| 			AND dept_id = #{deptId} | ||||
| 		</if> | ||||
|         <if test="parentId != null and parentId != 0"> | ||||
| 			AND parent_id = #{parentId} | ||||
| 		</if> | ||||
|   | ||||
| @@ -33,6 +33,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
|     <select id="selectRoleList" parameterType="SysRole" resultMap="SysRoleResult"> | ||||
| 		<include refid="selectRoleVo"/> | ||||
| 		where r.del_flag = '0' | ||||
| 		<if test="roleId != null and roleId != 0"> | ||||
| 			AND r.role_id = #{roleId} | ||||
| 		</if> | ||||
| 		<if test="roleName != null and roleName != ''"> | ||||
| 			AND r.role_name like concat('%', #{roleName}, '%') | ||||
| 		</if> | ||||
|   | ||||
| @@ -59,6 +59,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u | ||||
| 		left join sys_dept d on u.dept_id = d.dept_id | ||||
| 		where u.del_flag = '0' | ||||
| 		<if test="userId != null and userId != 0"> | ||||
| 			AND u.user_id = #{userId} | ||||
| 		</if> | ||||
| 		<if test="userName != null and userName != ''"> | ||||
| 			AND u.user_name like concat('%', #{userName}, '%') | ||||
| 		</if> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user