com.yqjr.framework.utils.UserUtils Maven / Gradle / Ivy
package com.yqjr.framework.utils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.UnavailableSecurityManagerException;
import org.apache.shiro.session.InvalidSessionException;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import com.yqjr.framework.component.context.SpringContext;
import com.yqjr.framework.component.shiro.Principal;
import com.yqjr.modules.role.dao.RoleDao;
import com.yqjr.modules.role.entity.Role;
import com.yqjr.modules.role.service.RoleService;
import com.yqjr.modules.user.condition.UserCondition;
import com.yqjr.modules.user.dao.UserDao;
import com.yqjr.modules.user.entity.User;
import com.yqjr.modules.user.model.UserModel;
import com.yqjr.modules.user.service.UserService;
/**
*
* ClassName: UserUtils
* Description: 当前登录User操作类
* Create By: Wanglei
* Create Date: 2017年5月5日 上午10:51:20
* Modified By:
* Modified Date:
* Modified Content:
* Version: 1.0
*
*/
public class UserUtils {
private static SpringContext springContext = SpringContext.getInstance();
private static UserDao userDao = springContext.getBeanWithClass(UserDao.class);
private static UserService userService = springContext.getBeanWithClass(UserService.class);
private static RoleDao roleDao = springContext.getBeanWithClass(RoleDao.class);
private static RoleService roleService = springContext.getBeanWithClass(RoleService.class);
/**
*
* Description: 根据ID获取用户
* Create By: Wanglei
* Create Date: 2017年5月5日 上午10:54:32
*
* @param id
* @return
*/
public static UserModel get(Long id){
UserModel user = userService.id(id);
if (user == null){
return null;
}
user.setRoleList(roleService.findListByUser(user));
return user;
}
/**
* 根据登录名获取用户
* @param loginName
* @return 取不到返回null
*/
public static UserModel getByLoginName(String loginName){
UserModel condition = new UserModel();
condition.setLoginName(loginName);
UserModel user = userService.get(condition);
if (user == null){
return null;
}
user.setRoleList(roleService.findListByUser(user));
return user;
}
/**
* 清除当前用户缓存
*/
// public static void clearCache(){
// removeCache(CACHE_ROLE_LIST);
// removeCache(CACHE_MENU_LIST);
// removeCache(CACHE_AREA_LIST);
// removeCache(CACHE_OFFICE_LIST);
// removeCache(CACHE_OFFICE_ALL_LIST);
// UserUtils.clearCache(getUser());
// }
/**
* 清除指定用户缓存
* @param user
*/
// public static void clearCache(User user){
// CacheUtils.remove(USER_CACHE, USER_CACHE_ID_ + user.getId());
// CacheUtils.remove(USER_CACHE, USER_CACHE_LOGIN_NAME_ + user.getLoginName());
// CacheUtils.remove(USER_CACHE, USER_CACHE_LOGIN_NAME_ + user.getOldLoginName());
// }
/**
* 获取当前用户
* @return 取不到返回 new User()
*/
public static UserModel getUser(){
Principal principal = getPrincipal();
UserModel virtualUser = new UserModel();
virtualUser.setId(-1L);
virtualUser.setLoginName("virtualUser");
virtualUser.setUserName("虚拟用户");
if (principal!=null){
UserModel user = get(principal.getId());
if (user != null){
return user;
}
return new UserModel();
}
return virtualUser;
}
/**
* 获取当前用户角色列表
* @return
*/
// public static List getRoleList(){
// @SuppressWarnings("unchecked")
// List roleList = (List)getCache(CACHE_ROLE_LIST);
// if (roleList == null){
// User user = getUser();
// if (user.isAdmin()){
// roleList = roleDao.findAllList(new Role());
// }else{
// Role role = new Role();
// role.getSqlMap().put("dsf", BaseService.dataScopeFilter(user.getCurrentUser(), "o", "u"));
// roleList = roleDao.findList(role);
// }
// putCache(CACHE_ROLE_LIST, roleList);
// }
// return roleList;
// }
/**
* 获取当前用户授权菜单
* @return
*/
// public static List