package com.mandi.springmvc.logs;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.context.ApplicationContext;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.mandi.common.Jacksonmethod;
import com.mandi.common.SessionMethod;
import com.mandi.common.SpringContext;
import com.mandi.system.service.IMOpLogServie;
import com.mandi.system.service.impl.MOpLogServie;
import com.mandi.system.persist.Login;
import com.mandi.system.persist.ModuleEnum;
public class LogsInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest r,
HttpServletResponse re, Object handler) throws Exception {
if(handler.getClass().isAssignableFrom(HandlerMethod.class)){
OpLogs oplog= ((HandlerMethod)handler).getMethodAnnotation(OpLogs.class);
if(oplog==null){
return true;
}
ApplicationContext ac= SpringContext.getAppContext();
if(ac==null){
return true;
}
IMOpLogServie imlser=ac.getBean(MOpLogServie.class);
Login l=SessionMethod.getlogin(r.getSession());
if(l==null){
l=new Login();
l.setUsername("未登录");
l.setWorkername(r.getRemoteAddr());
l.setDepartname("ä¸çŸ¥é“");
}
String name=oplog.name();
ModuleEnum module=oplog.module();
String note="";
try{
note=Jacksonmethod.tojson(r.getParameterMap(), false);
imlser.insert(l, module, name, note);
}catch(Exception e){
e.printStackTrace();
}
}
return true;
}
}