BaseController.java 4.65 KB
package com.fh.controller.base;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;

import org.apache.shiro.session.Session;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.ModelAndView;

import com.fh.entity.Page;
import com.fh.entity.system.User;
import com.fh.util.Const;
import com.fh.util.Jurisdiction;
import com.fh.util.Logger;
import com.fh.util.PageData;
import com.fh.util.UuidUtil;

/**
 * 修改时间:2015、12、11
 */
public class BaseController {

	protected Logger logger = Logger.getLogger(this.getClass());

	private static final long serialVersionUID = 6357869213649815390L;

	/**
	 * new PageData对象
	 * 
	 * @return
	 */
	public PageData getPageData() {
		return new PageData(this.getRequest());
	}

	/**
	 * 得到ModelAndView
	 * 
	 * @return
	 */
	public ModelAndView getModelAndView() {
		return new ModelAndView();
	}

	/**
	 * 得到request对象
	 * 
	 * @return
	 */
	public HttpServletRequest getRequest() {
		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
				.getRequestAttributes()).getRequest();
		return request;
	}

	/**
	 * 得到32位的uuid
	 * 
	 * @return
	 */
	public String get32UUID() {
		return UuidUtil.get32UUID();
	}

	/**
	 * 得到分页列表的信息
	 * 
	 * @return
	 */
	public Page getPage() {
		return new Page();
	}

	public static void logBefore(Logger logger, String interfaceName) {
		logger.info("");
		logger.info("start");
		logger.info(interfaceName);
	}

	public static void logAfter(Logger logger) {
		logger.info("end");
		logger.info("");
	}

	public String getUsername() {
		Session session = Jurisdiction.getSession();
		User user = (User) session.getAttribute(Const.SESSION_USER);
		if (user != null) {
			return user.getUSERNAME();
		}
		return "ERROR";
	}

	public String getUserID() {
		Session session = Jurisdiction.getSession();
		User user = (User) session.getAttribute(Const.SESSION_USER);
		if (user != null) {
			return user.getUSER_ID();
		}
		return "ERROR";
	}

	public String getRole() {
		Session session = Jurisdiction.getSession();
		String role = (String) session.getAttribute(getUsername()
				+ Const.ROLE_ID);
		return role;
	}

	public String getTeacherID() {
		Session session = Jurisdiction.getSession();
		User user = (User) session.getAttribute(Const.SESSION_USER);
		if (user != null) {
			return user.getTeacherID();
		}
		return "ERROR";
	}

	public String getSchoolID() {
		Session session = Jurisdiction.getSession();
		String schoolName = (String) session.getAttribute(getUsername()
				+ Const.SCHOOL_ID);
		return schoolName;
	}

	public String getSchoolName() {
		Session session = Jurisdiction.getSession();
		String schoolName = (String) session.getAttribute(getUsername()
				+ Const.SCHOOL_NAME);
		return schoolName;
	}

	public String getGradeID() {
		Session session = Jurisdiction.getSession();
		String schoolName = (String) session.getAttribute(getUsername()
				+ Const.GRADE_ID);
		return schoolName;
	}

	public String getGradeName() {
		Session session = Jurisdiction.getSession();
		String schoolName = (String) session.getAttribute(getUsername()
				+ Const.GRADE_NAME);
		return schoolName;
	}

	public String getSubjectId() {
		Session session = Jurisdiction.getSession();
		String schoolName = (String) session.getAttribute(getUsername()
				+ Const.SUBJECT_ID);
		return schoolName;
	}

	public String getSubjectName() {
		Session session = Jurisdiction.getSession();
		String schoolName = (String) session.getAttribute(getUsername()
				+ Const.SUBJECT_NAME);
		return schoolName;
	}

	public String getClassId() {
		Session session = Jurisdiction.getSession();
		String schoolName = (String) session.getAttribute(getUsername()
				+ Const.CLASS_ID);
		return schoolName;
	}

	public String getClassName() {
		Session session = Jurisdiction.getSession();
		String schoolName = (String) session.getAttribute(getUsername()
				+ Const.CLASS_NAME);
		return schoolName;
	}

	public String getCookieLanguage() {
		Cookie[] cookies = getRequest().getCookies();
		if (cookies != null) {
			for (Cookie cookie : cookies) {
				if (cookie.getName().equals("lang")) {
					return cookie.getValue();
				}
			}
		}
		return null;
	}

	public String getLang() {
		String lang = getCookieLanguage();
		if (lang == null) {
			lang = getRequest().getLocale().getLanguage();

			Cookie cookies = new Cookie("lang", lang);
			
			
			
		}

		return lang;
	}

	public boolean isChineseLanguageClient() {
		String lang = getLang();
		if (lang != null && lang.length() >= 2) {
			lang = lang.substring(0, 2);
		}
		return "zh".equals(getLang());
	}

}