FAISP/src/main/java/com/dbnt/faisp/config/FaispInterceptor.java

53 lines
2.1 KiB
Java
Raw Normal View History

2022-11-21 10:06:32 +00:00
package com.dbnt.faisp.config;
2022-11-23 09:51:00 +00:00
import com.dbnt.faisp.main.userInfo.model.UserAlarm;
2022-11-22 09:48:10 +00:00
import com.dbnt.faisp.main.userInfo.model.UserRequestLog;
2022-11-23 09:51:00 +00:00
import com.dbnt.faisp.main.userInfo.service.UserAlarmService;
2022-11-22 09:48:10 +00:00
import com.dbnt.faisp.main.userInfo.service.UserLogService;
import com.dbnt.faisp.util.Utils;
import lombok.RequiredArgsConstructor;
2022-11-21 10:06:32 +00:00
import org.springframework.stereotype.Component;
2022-11-22 09:48:10 +00:00
import org.springframework.web.method.HandlerMethod;
2022-11-21 10:06:32 +00:00
import org.springframework.web.servlet.HandlerInterceptor;
2022-11-23 09:51:00 +00:00
import org.springframework.web.servlet.ModelAndView;
2022-11-21 10:06:32 +00:00
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
2022-11-22 09:48:10 +00:00
@RequiredArgsConstructor
2022-11-21 10:06:32 +00:00
public class FaispInterceptor implements HandlerInterceptor {
2022-11-22 09:48:10 +00:00
private final UserLogService userLogService;
2022-11-23 09:51:00 +00:00
private final UserAlarmService userAlarmService;
2022-11-21 10:06:32 +00:00
@Override
2022-11-23 09:51:00 +00:00
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView mav) throws Exception {
if (mav!=null){
String xReq = request.getHeader("X-Requested-With");
if(xReq == null || !xReq.equals("XMLHttpRequest")){
// mav가 있으면서 ajax요청이 아닐 때 알람 조회.
UserAlarm param = new UserAlarm();
param.setUserSeq((Integer) request.getSession().getAttribute("userSeq"));
param.setViewYn("N");
param.setQueryInfo();
mav.addObject("alarmList", userAlarmService.selectAlarmList(param));
}
}
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
2022-11-22 09:48:10 +00:00
//페이지 렌더링 후 실행.
UserRequestLog log = new UserRequestLog();
log.setContactIp(Utils.getClientIP(request));
log.setRequestUrl(request.getRequestURI());
log.setRequestMethod(request.getMethod());
log.setSearchParams(request.getQueryString());
log.setHandlerDescription(((HandlerMethod) handler).toString());
2022-11-23 02:51:20 +00:00
log.setUserOrgan((String) request.getSession().getAttribute("userOrgan"));
2022-11-22 09:48:10 +00:00
log.setUserBelong((String) request.getSession().getAttribute("belongValue"));
userLogService.saveRequestLog(log);
2022-11-21 10:06:32 +00:00
}
}