浏览代码

Merge branch 'Joburgess' of http://git.dayaedu.com/yonge/mec into test

 Conflicts:
	mec-common/audit-log/src/main/java/com/yonge/log/interceptor/AuditLogInterceptor.java
zouxuan 4 年之前
父节点
当前提交
19cedd33d1
共有 1 个文件被更改,包括 40 次插入33 次删除
  1. 40 33
      mec-common/audit-log/src/main/java/com/yonge/log/interceptor/AuditLogInterceptor.java

+ 40 - 33
mec-common/audit-log/src/main/java/com/yonge/log/interceptor/AuditLogInterceptor.java

@@ -1,16 +1,16 @@
 package com.yonge.log.interceptor;
 
 import java.io.IOException;
-import java.lang.reflect.Array;
 import java.nio.charset.Charset;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.Map;
+import java.util.Objects;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import io.swagger.annotations.ApiOperation;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,7 +41,7 @@ public class AuditLogInterceptor extends HandlerInterceptorAdapter {
 
 	private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
-	private static List<String> logUrl;
+	private static List<String> ignoreLogUrl;
 
 
 
@@ -52,37 +52,44 @@ public class AuditLogInterceptor extends HandlerInterceptorAdapter {
 	}
 
 	@Override
-	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
-		String servletPath = request.getServletPath();
-		HandlerMethod handlerMethod = (HandlerMethod) handler;
-		AuditLogAnnotation anno = handlerMethod.getMethodAnnotation(AuditLogAnnotation.class);
-		ApiOperation apiOperation = handlerMethod.getMethodAnnotation(ApiOperation.class);
-		String operateName = null;
-		if(StringUtils.isEmpty(operateName) && apiOperation != null){
-			operateName = apiOperation.value();
-		}
-		if(StringUtils.isEmpty(operateName) && anno != null){
-			operateName = anno.operateName();
-		}
-		if(anno != null){
-			saveLog(operateName,servletPath,request);
-			return;
-		}
-		if(servletPath.contains("/task/")){
-			return;
-		}
- 		String substring = servletPath.substring(servletPath.lastIndexOf("/") + 1).toLowerCase();
-		if(logUrl == null){
-			logUrl = new ArrayList<>();
-			logUrl.add("update");
-			logUrl.add("modify");
-			logUrl.add("del");
-		}
-		for (String e : logUrl) {
-			if(substring.contains(e)){
+	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
+		try {
+			String servletPath = request.getServletPath();
+			HandlerMethod handlerMethod = (HandlerMethod) handler;
+			AuditLogAnnotation anno = handlerMethod.getMethodAnnotation(AuditLogAnnotation.class);
+			ApiOperation apiOperation = handlerMethod.getMethodAnnotation(ApiOperation.class);
+			String operateName = null;
+			if(StringUtils.isEmpty(operateName) && apiOperation != null){
+				operateName = apiOperation.value();
+			}
+			if(StringUtils.isEmpty(operateName) && anno != null){
+				operateName = anno.operateName();
+			}
+			if(anno != null){
 				saveLog(operateName,servletPath,request);
-				break;
+				return;
+			}
+			if(servletPath.contains("/task/") || servletPath.contains("/import/") ){
+				return;
 			}
+			String substring = servletPath.substring(servletPath.lastIndexOf("/") + 1).toLowerCase();
+			if(ignoreLogUrl == null){
+				ignoreLogUrl = new ArrayList<>();
+				ignoreLogUrl.add("add");
+				ignoreLogUrl.add("insert");
+				ignoreLogUrl.add("query");
+				ignoreLogUrl.add("get");
+				ignoreLogUrl.add("find");
+				ignoreLogUrl.add("detail");
+			}
+			for (String e : ignoreLogUrl) {
+				if(substring.contains(e.toLowerCase())){
+					return;
+				}
+			}
+			saveLog(operateName,servletPath,request);
+		}catch (Exception e){
+			e.printStackTrace();
 		}
 	}