package com.qxueyou.scc.base.model;
|
|
import java.io.Serializable;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.qxueyou.scc.admin.classes.model.ClsClass;
|
import com.qxueyou.scc.org.model.OrgCollegeCourse;
|
import com.qxueyou.scc.org.model.Organization;
|
import com.qxueyou.scc.sys.model.SysMenu;
|
import com.qxueyou.scc.user.model.User;
|
|
/**
|
* ±£´æÓû§»º´æÐÅÏ¢
|
* @author µÂ»¢
|
*
|
*/
|
public class UserInfoWrapper implements Serializable{
|
|
private static final long serialVersionUID = 5715001537102570184L;
|
|
private List<SysMenu> menus = new ArrayList<SysMenu>(10);
|
|
private boolean admin = false;
|
|
/** Óû§ÐÅÏ¢map */
|
private final Map<String,Object> currentUser = new HashMap<String,Object>(10);
|
|
/** "role":"½ÇÉ«", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
|
public final static String INF_ROLE = "role";
|
|
/** "roleId":sessionÖÐUserInfoWrapper±£´æµÄkey */
|
public static final String SESSION_USER_INFO_KEY = "SESSION_USER_INFO_KEY";
|
|
/**±£´æµ±Ç°ÔÚÏßÓû§IDÓësessionID*/
|
public static final String REDIS_USER_ONLINE_MAP_KEY="redis.user.online.map.key";
|
|
/** "roleId":½ÇÉ«ID */
|
public final static String INF_ROLE_ID = "roleId";
|
|
/** "roleIsAdmin":ÊÇ·ñΪ¹ÜÀíÔ± */
|
public final static String INF_ROLE_IS_ADMIN = "roleIsAdmin";
|
|
/** "roleValue":"½Çɫֵ" */
|
public final static String INF_ROLE_VALUE = "roleValue";
|
|
/** "roleValue":"½ÇÉ«" */
|
public final static String INF_ROLE_ENAME = "roleEname";
|
|
/** "userId":"Óû§ID" */
|
public final static String INF_USER_ID = "userId";
|
|
/** "userName":"Óû§Ãû" */
|
public final static String INF_USER_NAME = "userName";
|
|
/** "userNickName":"Óû§êdzÆ" */
|
public final static String INF_USER_NICK_NAME = "userNickName";
|
|
/** "userMobilePhone":"ÊÖ»úºÅ" */
|
public final static String INF_USER_MOBILE_PHONE = "userMobilePhone";
|
|
/** "userAccount":"ÕʺÅ" */
|
public final static String INF_USER_ACCOUNT = "userAccount";
|
|
/** "userHeadImg":"Í·Ïñ" */
|
public final static String INF_USER_HEAD_IMG = "userHeadImg";
|
|
/** "orgId":"»ú¹¹ID" */
|
public final static String INF_ORG_ID = "orgId";
|
|
/** "topOrgId":"×îÉϲã»ú¹¹ID" */
|
public final static String INF_TOP_ORG_ID = "topOrgId";
|
|
/** "orgName":"»ú¹¹Ãû³Æ" */
|
public final static String INF_ORG_NAME = "orgName";
|
|
/** "orgShortName":"»ú¹¹¼ò³Æ" */
|
public final static String INF_ORG_SHORT_NAME = "orgShortName";
|
|
/** "orgCode":"»ú¹¹´úÂë" */
|
public final static String INF_ORG_CODE = "orgCode";
|
|
/** "orgType":"»ú¹¹ÀàÐÍ" */
|
public final static String INF_ORG_TYPE = "orgType";
|
|
/** "orgLogPath":"»ú¹¹LOGO" */
|
public final static String INF_ORG_LOGO_PATH = "orgLogPath";
|
|
/** "courseId":"¿ÆÄ¿ID" */
|
public final static String INF_COURSE_ID = "courseId";
|
|
/** "courseCode":"¿ÆÄ¿´úÂë" */
|
public final static String INF_COURSE_CODE = "courseCode";
|
|
/** "courseName":"¿ÆÄ¿Ãû³Æ" */
|
public final static String INF_COURSE_NAME = "courseName";
|
|
/** "courseType":"¿ÆÄ¿ÀàÐÍ" */
|
public final static String INF_COURSE_TYPE = "courseType";
|
|
/** "classId":"°à¼¶ID" */
|
public final static String INF_CLASS_ID = "classId";
|
|
/** "className":"°à¼¶Ãû" */
|
public final static String INF_CLASS_NAME = "className";
|
|
/** "classCharger":"°àÖ÷ÈÎ" */
|
public final static String INF_CLASS_CHARGER = "classCharger";
|
|
/** "teacher":"½²Ê¦" */
|
public final static String ROLE_TEACHER = "teacher";
|
|
/** "assistantTeacher":"ÖúÀí½²Ê¦" */
|
public final static String ROLE_ASSISTANT_TEACHER = "assistantTeacher";
|
|
/** "salesman":"ÏúÊÛ" */
|
public final static String ROLE_SALESMAN = "salesman";
|
|
/** "role":"½ÇÉ«", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
|
public final static String ROLE_CHARGER = "charger";
|
|
/** "role":"½ÇÉ«", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
|
public final static String ROLE_ADMIN = "admin";
|
|
/** "role":"½ÇÉ«", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
|
public final static String ROLE_STUDENT = "student";
|
|
/** "role":"½ÇÉ«", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
|
public final static String ROLE_CUSTOM = "custom";
|
|
/** "buttonPrivilege":"" */
|
public final static String INF_BUTTON_PRIVILEGE_EDIT = "buttonPrivilege";
|
|
/** "loginIp":"怬IP" */
|
public final static String INF_LOGIN_IP = "loginIp";
|
|
/** "loginPlatForm":"µÇ¼ƽ̨" */
|
public final static String INF_LOGIN_PLAT_FORM = "loginPlatForm";
|
|
/** "loginCacheIpFlag":"ÊÇ·ñÐèÒªÔÚ¹ýÂËÆ÷¶Ôµ±Ç°Óû§Ôö¼Ó»º´æ£¨ÓÃÓÚ±£Ö¤Ò»¸öÓû§Ö»ÄÜÔÚÒ»¸öIPÉϵǼ£©" */
|
public final static String INF_LOGIN_CACHE_IP_FLAG = "loginCacheIpFlag";
|
|
/** "rolesKey":"", */
|
String[] rolesKey = new String[]{"admins","chargers","teachers","salesmen","students","customs","assistantTeachers"};
|
|
/** "roles":"" */
|
private final Map<String,List<Map<String,Object>>> roles = new HashMap<String,List<Map<String,Object>>>(5);
|
|
/**
|
* ¸ù¾ÝkeyÖµ»ñÈ¡µ±Ç°Óû§ÐÅÏ¢
|
* @param key
|
* @return
|
*/
|
public String getInfo(String key){
|
return (String)(currentUser.get(key));
|
}
|
|
/**
|
* »ñÈ¡µ±Ç°Óû§½ÇÉ«
|
* @param key
|
* @return
|
*/
|
public String getCurrentRole(){
|
return getInfo(INF_ROLE);
|
}
|
|
/**
|
* »ñÈ¡µ±Ç°Óû§½ÇÉ«ID
|
* @param key
|
* @return
|
*/
|
public String getCurrentRoleId(){
|
return getInfo(INF_ROLE_ID);
|
}
|
|
/**
|
* »ñÈ¡µ±Ç°Óû§½Çɫֵ
|
* @param key
|
* @return
|
*/
|
public String getCurrentRoleValue(){
|
return getInfo(INF_ROLE_VALUE);
|
}
|
|
/**
|
* ¸ù¾ÝkeyÖµÉèÖõ±Ç°Óû§ÐÅÏ¢
|
* @param key
|
* @return
|
*/
|
public void setInfo(String key,Object value){
|
currentUser.put(key,value);
|
}
|
|
/**
|
* ÉèÖÃÓû§ÐÅÏ¢
|
* @param key
|
* @return
|
*/
|
public void setUser(User user){
|
currentUser.put(INF_USER_ID, user.getUserId());
|
currentUser.put(INF_USER_NAME, user.getName());
|
currentUser.put(INF_USER_NICK_NAME, user.getName());
|
currentUser.put(INF_USER_MOBILE_PHONE, user.getMobilePhone());
|
currentUser.put("email", user.getEmail());
|
currentUser.put("imei", user.getImei());
|
currentUser.put("age", String.valueOf(user.getAge()));
|
currentUser.put(INF_USER_HEAD_IMG, user.getImgPath());
|
}
|
|
/**
|
* ÉèÖûú¹¹ÐÅÏ¢
|
* @param key
|
* @return
|
*/
|
public void setOrg(Organization org){
|
|
if(org==null){
|
currentUser.put(INF_ORG_ID, null);
|
currentUser.put(INF_TOP_ORG_ID, null);
|
currentUser.put(INF_ORG_NAME, null);
|
currentUser.put(INF_ORG_CODE, null);
|
currentUser.put(INF_ORG_LOGO_PATH, null);
|
currentUser.put(INF_ORG_SHORT_NAME, null);
|
return;
|
}
|
|
currentUser.put(INF_ORG_ID, org.getOrganizationId());
|
currentUser.put(INF_TOP_ORG_ID, org.getTopOrganizationId());
|
currentUser.put(INF_ORG_NAME, org.getName());
|
currentUser.put(INF_ORG_SHORT_NAME, org.getShortName());
|
currentUser.put(INF_ORG_CODE, org.getCode());
|
currentUser.put(INF_ORG_LOGO_PATH, org.getLogoPath());
|
}
|
|
/**
|
* ÉèÖð༶ÐÅÏ¢
|
* @param key
|
* @return
|
*/
|
public void setClass(ClsClass cls){
|
if(cls==null){
|
currentUser.put(INF_CLASS_ID, null);
|
currentUser.put(INF_CLASS_NAME, null);
|
currentUser.put(INF_CLASS_CHARGER, null);
|
return;
|
}
|
|
currentUser.put(INF_CLASS_ID, cls.getClassId());
|
currentUser.put(INF_CLASS_NAME, cls.getName());
|
currentUser.put(INF_CLASS_CHARGER, cls.getClassCharger());
|
System.out.println(cls.getClassId());
|
}
|
|
/**
|
* ÉèÖÿÆÄ¿ÐÅÏ¢
|
* @param key
|
* @return
|
*/
|
public void setCource(OrgCollegeCourse cource){
|
|
if(cource==null){
|
currentUser.put(INF_COURSE_ID, null);
|
currentUser.put(INF_COURSE_CODE, null);
|
currentUser.put(INF_COURSE_NAME, null);
|
return;
|
}
|
|
//currentUser.put(INF_COURSE_ID, cource.getCourseId());
|
currentUser.put(INF_COURSE_ID, cource.getCollegeCourseId());
|
currentUser.put(INF_COURSE_CODE, cource.getCode());
|
currentUser.put(INF_COURSE_NAME, cource.getName());
|
|
}
|
|
/**
|
* ÉèÖõ±Ç°¿Í»§ÊÇ·ñ±à¼¹ý½ÇÉ«µÄ°´Å¥È¨ÏÞÐÅÏ¢
|
* @param key
|
* @return
|
*/
|
public void setButtonPrivilegeEdit(Boolean flag){
|
|
if(flag==null){
|
currentUser.put(INF_BUTTON_PRIVILEGE_EDIT, false);
|
return;
|
}
|
|
currentUser.put(INF_BUTTON_PRIVILEGE_EDIT, flag);
|
|
}
|
|
/**
|
* »ñÈ¡µ±Ç°Óû§½ÇÉ«ÊÇ·ñ´¦Àí¹ý°´Å¥È¨ÏÞ
|
* @param key
|
* @return
|
*/
|
public Boolean getButtonPrivilegeEdit(){
|
return (Boolean)(currentUser.get(INF_BUTTON_PRIVILEGE_EDIT));
|
}
|
|
/**
|
* ÉèÖÃÓû§µÇ¼IPÐÅÏ¢
|
* @param cacheIpFlag ÊÇ·ñÐèÒª»º´æ
|
* @param ip
|
*/
|
public void setLoginInfo(boolean cacheIpFlag,String ip, String platForm){
|
currentUser.put(INF_LOGIN_CACHE_IP_FLAG, cacheIpFlag);
|
currentUser.put(INF_LOGIN_IP, ip);
|
currentUser.put(INF_LOGIN_PLAT_FORM, platForm);
|
}
|
|
/**
|
* »ñÈ¡µ±Ç°Óû§µÇ¼IP
|
* @param key
|
* @return
|
*/
|
public String getCurrentLoginIp(){
|
return (String)(currentUser.get(INF_LOGIN_IP));
|
}
|
|
/**
|
* »ñÈ¡µ±Ç°Óû§ÊÇ·ñÐèÒª»º´æ
|
* @param key
|
* @return
|
*/
|
public Boolean getCurrentLoginCacheIpFlag(){
|
return (Boolean)(currentUser.get(INF_LOGIN_CACHE_IP_FLAG));
|
}
|
|
/**
|
* »ñÈ¡µ±Ç°µÇ¼ƽ̨
|
* @param key
|
* @return
|
*/
|
public String getCurrentLoginPlatForm(){
|
return (String)(currentUser.get(INF_LOGIN_PLAT_FORM));
|
}
|
|
/**
|
* Ìí¼Ó½ÇÉ«
|
* @param key
|
* @param value
|
* @return
|
*/
|
public void addRole(String key,List<Map<String,Object>> value){
|
roles.put(key, value);
|
}
|
|
/**
|
* »ñÈ¡×î¸ßÓÅÏȼ¶½ÇÉ«
|
* @return
|
*/
|
public List<Map<String,Object>> getDefaultRole(){
|
|
for(String role:rolesKey){
|
if(roles.containsKey(role)){
|
return roles.get(role);
|
}
|
}
|
|
return null;
|
|
}
|
|
/**
|
* »ñȡָ¶¨½ÇÉ«µÄÐÅÏ¢
|
* @return
|
*/
|
public List<Map<String,Object>> getRoleInfo(String roleKey){
|
|
for(String role:rolesKey){
|
if(role.equals(roleKey)){
|
return roles.get(role);
|
}
|
}
|
|
return null;
|
|
}
|
|
/**
|
* »ñÈ¡×î¸ßÓÅÏȼ¶½ÇÉ«Ãû×Ö
|
* @return
|
*/
|
public String getDefaultRoleName(){
|
|
for(String role:rolesKey){
|
if(roles.containsKey(role)){
|
return role;
|
}
|
}
|
|
return null;
|
|
}
|
|
/**
|
* »ñÈ¡ËùÓв˵¥
|
* @return
|
*/
|
public List<SysMenu> getMenus() {
|
return menus;
|
}
|
|
/**
|
* ÉèÖÃËùÓв˵¥
|
* @return
|
*/
|
public void setMenus(List<SysMenu> menus) {
|
this.menus = menus;
|
}
|
|
public boolean isAdmin() {
|
return admin;
|
}
|
|
public void setAdmin(boolean admin) {
|
this.admin = admin;
|
}
|
}
|