|  | @@ -1,5 +1,7 @@
 | 
	
		
			
				|  |  |  package com.ruoyi.framework.aspectj;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  |  import org.aspectj.lang.JoinPoint;
 | 
	
		
			
				|  |  |  import org.aspectj.lang.annotation.Aspect;
 | 
	
		
			
				|  |  |  import org.aspectj.lang.annotation.Before;
 | 
	
	
		
			
				|  | @@ -79,15 +81,21 @@ public class DataScopeAspect
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param joinPoint 切点
 | 
	
		
			
				|  |  |       * @param user 用户
 | 
	
		
			
				|  |  | -     * @param userAlias 别名
 | 
	
		
			
				|  |  | +     * @param deptAlias 部门别名
 | 
	
		
			
				|  |  | +     * @param userAlias 用户别名
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          StringBuilder sqlString = new StringBuilder();
 | 
	
		
			
				|  |  | +        List<String> conditions = new ArrayList<String>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          for (SysRole role : user.getRoles())
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              String dataScope = role.getDataScope();
 | 
	
		
			
				|  |  | +            if (conditions.contains(dataScope))
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              if (DATA_SCOPE_ALL.equals(dataScope))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  sqlString = new StringBuilder();
 | 
	
	
		
			
				|  | @@ -121,6 +129,7 @@ public class DataScopeAspect
 | 
	
		
			
				|  |  |                      sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias));
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            conditions.add(dataScope);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (StringUtils.isNotBlank(sqlString.toString()))
 |