|  | @@ -1,18 +1,13 @@
 | 
	
		
			
				|  |  |  package com.ruoyi.framework.aspectj;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.lang.reflect.Method;
 | 
	
		
			
				|  |  |  import java.util.Collection;
 | 
	
		
			
				|  |  | -import java.util.Iterator;
 | 
	
		
			
				|  |  |  import java.util.Map;
 | 
	
		
			
				|  |  |  import javax.servlet.http.HttpServletRequest;
 | 
	
		
			
				|  |  |  import javax.servlet.http.HttpServletResponse;
 | 
	
		
			
				|  |  |  import org.aspectj.lang.JoinPoint;
 | 
	
		
			
				|  |  | -import org.aspectj.lang.Signature;
 | 
	
		
			
				|  |  |  import org.aspectj.lang.annotation.AfterReturning;
 | 
	
		
			
				|  |  |  import org.aspectj.lang.annotation.AfterThrowing;
 | 
	
		
			
				|  |  |  import org.aspectj.lang.annotation.Aspect;
 | 
	
		
			
				|  |  | -import org.aspectj.lang.annotation.Pointcut;
 | 
	
		
			
				|  |  | -import org.aspectj.lang.reflect.MethodSignature;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
		
			
				|  |  |  import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Component;
 | 
	
	
		
			
				|  | @@ -43,21 +38,15 @@ public class LogAspect
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    // 配置织入点
 | 
	
		
			
				|  |  | -    @Pointcut("@annotation(com.ruoyi.common.annotation.Log)")
 | 
	
		
			
				|  |  | -    public void logPointCut()
 | 
	
		
			
				|  |  | -    {
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 处理完请求后执行
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param joinPoint 切点
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    @AfterReturning(pointcut = "logPointCut()", returning = "jsonResult")
 | 
	
		
			
				|  |  | -    public void doAfterReturning(JoinPoint joinPoint, Object jsonResult)
 | 
	
		
			
				|  |  | +    @AfterReturning(pointcut = "@annotation(controllerLog)", returning = "jsonResult")
 | 
	
		
			
				|  |  | +    public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        handleLog(joinPoint, null, jsonResult);
 | 
	
		
			
				|  |  | +        handleLog(joinPoint, controllerLog, null, jsonResult);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -66,22 +55,16 @@ public class LogAspect
 | 
	
		
			
				|  |  |       * @param joinPoint 切点
 | 
	
		
			
				|  |  |       * @param e 异常
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    @AfterThrowing(value = "logPointCut()", throwing = "e")
 | 
	
		
			
				|  |  | -    public void doAfterThrowing(JoinPoint joinPoint, Exception e)
 | 
	
		
			
				|  |  | +    @AfterThrowing(value = "@annotation(controllerLog)", throwing = "e")
 | 
	
		
			
				|  |  | +    public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        handleLog(joinPoint, e, null);
 | 
	
		
			
				|  |  | +        handleLog(joinPoint, controllerLog, e, null);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    protected void handleLog(final JoinPoint joinPoint, final Exception e, Object jsonResult)
 | 
	
		
			
				|  |  | +    protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          try
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            // 获得注解
 | 
	
		
			
				|  |  | -            Log controllerLog = getAnnotationLog(joinPoint);
 | 
	
		
			
				|  |  | -            if (controllerLog == null)
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                return;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // 获取当前的用户
 | 
	
		
			
				|  |  |              LoginUser loginUser = SecurityUtils.getLoginUser();
 | 
	
	
		
			
				|  | @@ -172,22 +155,6 @@ public class LogAspect
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * 是否存在注解,如果存在就获取
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    private Log getAnnotationLog(JoinPoint joinPoint) throws Exception
 | 
	
		
			
				|  |  | -    {
 | 
	
		
			
				|  |  | -        Signature signature = joinPoint.getSignature();
 | 
	
		
			
				|  |  | -        MethodSignature methodSignature = (MethodSignature) signature;
 | 
	
		
			
				|  |  | -        Method method = methodSignature.getMethod();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        if (method != null)
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            return method.getAnnotation(Log.class);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return null;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 参数拼装
 | 
	
		
			
				|  |  |       */
 | 
	
	
		
			
				|  | @@ -196,11 +163,11 @@ public class LogAspect
 | 
	
		
			
				|  |  |          String params = "";
 | 
	
		
			
				|  |  |          if (paramsArray != null && paramsArray.length > 0)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            for (int i = 0; i < paramsArray.length; i++)
 | 
	
		
			
				|  |  | +            for (Object o : paramsArray)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                if (StringUtils.isNotNull(paramsArray[i]) && !isFilterObject(paramsArray[i]))
 | 
	
		
			
				|  |  | +                if (StringUtils.isNotNull(o) && !isFilterObject(o))
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    Object jsonObj = JSON.toJSON(paramsArray[i]);
 | 
	
		
			
				|  |  | +                    Object jsonObj = JSON.toJSON(o);
 | 
	
		
			
				|  |  |                      params += jsonObj.toString() + " ";
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -225,17 +192,17 @@ public class LogAspect
 | 
	
		
			
				|  |  |          else if (Collection.class.isAssignableFrom(clazz))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              Collection collection = (Collection) o;
 | 
	
		
			
				|  |  | -            for (Iterator iter = collection.iterator(); iter.hasNext();)
 | 
	
		
			
				|  |  | +            for (Object value : collection)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                return iter.next() instanceof MultipartFile;
 | 
	
		
			
				|  |  | +                return value instanceof MultipartFile;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          else if (Map.class.isAssignableFrom(clazz))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              Map map = (Map) o;
 | 
	
		
			
				|  |  | -            for (Iterator iter = map.entrySet().iterator(); iter.hasNext();)
 | 
	
		
			
				|  |  | +            for (Object value : map.entrySet())
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                Map.Entry entry = (Map.Entry) iter.next();
 | 
	
		
			
				|  |  | +                Map.Entry entry = (Map.Entry) value;
 | 
	
		
			
				|  |  |                  return entry.getValue() instanceof MultipartFile;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 |