58 lines
2.4 KiB
Java
58 lines
2.4 KiB
Java
package com.dbnt.faisp.config;
|
|
|
|
import com.dbnt.faisp.main.userInfo.model.UserAlarm;
|
|
import com.dbnt.faisp.main.userInfo.model.UserRequestLog;
|
|
import com.dbnt.faisp.main.userInfo.service.UserAlarmService;
|
|
import com.dbnt.faisp.main.userInfo.service.UserLogService;
|
|
import com.dbnt.faisp.util.Utils;
|
|
import lombok.RequiredArgsConstructor;
|
|
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.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
@Component
|
|
@RequiredArgsConstructor
|
|
public class FaispInterceptor implements HandlerInterceptor {
|
|
|
|
private final UserLogService userLogService;
|
|
private final UserAlarmService userAlarmService;
|
|
|
|
@Override
|
|
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));
|
|
mav.addObject("alarmListCnt", userAlarmService.selectAlarmListCnt(param));
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
|
|
//페이지 렌더링 후 실행.
|
|
if(request.getParameter("dashboardFlag") == null){
|
|
// 대시보드 ajax 조회 로그 저장시 키 중첩으로 오류 발생.
|
|
// 대시보드 ajax 조회는 로그를 쌓지 않음.
|
|
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());
|
|
log.setUserOrgan((String) request.getSession().getAttribute("userOrgan"));
|
|
log.setUserBelong((String) request.getSession().getAttribute("belongValue"));
|
|
userLogService.saveRequestLog(log);
|
|
}
|
|
}
|
|
}
|