| | |
| | | |
| | | /** |
| | | * 数据过滤处理 |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Aspect |
| | |
| | | } |
| | | // 获取当前的用户 |
| | | LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest()); |
| | | SysUser currentUser = loginUser.getUser(); |
| | | if (currentUser != null) |
| | | if (StringUtils.isNotNull(loginUser)) |
| | | { |
| | | SysUser currentUser = loginUser.getUser(); |
| | | // 如果是超级管理员,则不过滤数据 |
| | | if (!currentUser.isAdmin()) |
| | | if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) |
| | | { |
| | | dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), |
| | | controllerDataScope.userAlias()); |
| | |
| | | |
| | | /** |
| | | * 数据范围过滤 |
| | | * |
| | | * |
| | | * @param joinPoint 切点 |
| | | * @param user 用户 |
| | | * @param alias 别名 |
| | | * @param userAlias 别名 |
| | | */ |
| | | public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias) |
| | | { |
| | |
| | | |
| | | if (StringUtils.isNotBlank(sqlString.toString())) |
| | | { |
| | | BaseEntity baseEntity = (BaseEntity) joinPoint.getArgs()[0]; |
| | | baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")"); |
| | | Object params = joinPoint.getArgs()[0]; |
| | | if (StringUtils.isNotNull(params) && params instanceof BaseEntity) |
| | | { |
| | | BaseEntity baseEntity = (BaseEntity) params; |
| | | baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")"); |
| | | } |
| | | } |
| | | } |
| | | |