package com.lst.lc.interceptor;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import com.lst.lc.dao.LetterDao;
import com.lst.lc.dao.UserDao;
import com.lst.lc.entities.User;
public class UserInterceptor implements HandlerInterceptor {
@Autowired
@Qualifier("userDao")
private UserDao userDao;
private String loginUrl = "/LearningCommunity/index";
@Autowired
@Qualifier("letterDao")
private LetterDao letterDao;
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
}
@Override
public void postHandle(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
// TODO Auto-generated method stub
}
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object object) throws Exception {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("loginUser");
if(user == null){
response.sendRedirect(loginUrl);
return false;
}else{
List<User> friends = userDao.getValidateFriends(user
.getUserId());
int letters = letterDao.getUnRead(user.getUserId());
if (friends.size() > 0)
session.setAttribute("notity_friends",
friends.size());
if (letters > 0)
session.setAttribute("notify_letters", letters);
return true;
}
}
}