package com.yuanchu.mom.config;
|
|
import com.yuanchu.mom.exception.ErrorException;
|
import com.yuanchu.mom.mapper.SystemLogMapper;
|
import com.yuanchu.mom.pojo.SystemLog;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.stereotype.Component;
|
import org.springframework.web.method.HandlerMethod;
|
import org.springframework.web.servlet.HandlerInterceptor;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.lang.reflect.Method;
|
|
/**
|
* @Author 戴卓
|
* @Date 2024/2/27
|
*/
|
@Component
|
public class LogConfig implements HandlerInterceptor {
|
|
@Resource
|
private SystemLogMapper systemLogMapper;
|
|
@Override
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
if (handler instanceof HandlerMethod) {
|
if (request.getRequestURL().toString().contains("/error") ||
|
request.getRequestURL().toString().contains("/outPath") ||
|
request.getRequestURL().toString().contains("/user/enter")) {
|
return HandlerInterceptor.super.preHandle(request, response, handler);
|
}
|
HandlerMethod h = (HandlerMethod)handler;
|
Method method = h.getMethod();
|
ApiOperation annotation = method.getAnnotation(ApiOperation.class);
|
if (annotation == null) {
|
return HandlerInterceptor.super.preHandle(request, response, handler);
|
}
|
SystemLog systemLog = new SystemLog();
|
systemLog.setMethod(method.getName());
|
systemLog.setMethodName(annotation.value());
|
systemLogMapper.insert(systemLog);
|
}
|
return HandlerInterceptor.super.preHandle(request, response, handler);
|
}
|
|
@Override
|
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
|
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
|
}
|
|
@Override
|
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
|
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
|
}
|
}
|