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 menus = new ArrayList(10); private boolean admin = false; /** Óû§ÐÅÏ¢map */ private final Map currentUser = new HashMap(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>> roles = new HashMap>>(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> value){ roles.put(key, value); } /** * »ñÈ¡×î¸ßÓÅÏȼ¶½ÇÉ« * @return */ public List> getDefaultRole(){ for(String role:rolesKey){ if(roles.containsKey(role)){ return roles.get(role); } } return null; } /** * »ñȡָ¶¨½ÇÉ«µÄÐÅÏ¢ * @return */ public List> 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 getMenus() { return menus; } /** * ÉèÖÃËùÓв˵¥ * @return */ public void setMenus(List menus) { this.menus = menus; } public boolean isAdmin() { return admin; } public void setAdmin(boolean admin) { this.admin = admin; } }