You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
220 lines
6.2 KiB
220 lines
6.2 KiB
package com.eco.plugin.xx.bssso.utils; |
|
|
|
import com.fr.decision.authority.data.User; |
|
import com.fr.decision.privilege.TransmissionTool; |
|
import com.fr.decision.webservice.bean.user.*; |
|
import com.fr.decision.webservice.service.user.UserMiddleRoleService; |
|
import com.fr.decision.webservice.v10.login.ExtendTokenProcessor; |
|
import com.fr.decision.webservice.v10.login.LoginService; |
|
import com.fr.decision.webservice.v10.user.UserService; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
import java.util.List; |
|
import java.util.Map; |
|
|
|
public class FRUserUtils { |
|
|
|
/** |
|
* 获取用户Service |
|
* @return |
|
*/ |
|
public static UserService getUserService(){ |
|
return UserService.getInstance(); |
|
} |
|
|
|
/** |
|
* 获取全量用户 |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public static List<UserBean> getAllUsers(){ |
|
List<UserBean> userbean = UserMiddleRoleService.getInstance().getAllUsers(false); |
|
// List<UserAdditionBean> users = new ArrayList<UserAdditionBean>(); |
|
// getAllUser(getAdminUser().getUsername(),0,1000,users); |
|
return userbean; |
|
} |
|
|
|
/** |
|
* |
|
* @param adminUsername 管理员用户名 |
|
* @param page 页数 |
|
* @param num 每页的数据 |
|
* @param users 保存用户的列表 |
|
*/ |
|
private static void getAllUser(String adminUsername,int page,int num,List<UserAdditionBean> users) throws Exception { |
|
Map<String,Object> result = getUserService().getAllUsers(adminUsername,page,num,"","",true); |
|
Long total = (Long)result.get("total"); |
|
List<UserAdditionBean> item = (List<UserAdditionBean>)result.get("items"); |
|
users.addAll(item); |
|
|
|
page = page+1; |
|
|
|
if(page * num >= total){ |
|
return ; |
|
} |
|
|
|
getAllUser(adminUsername,page,num,users); |
|
} |
|
/** |
|
* 添加用户 |
|
* @param userBean |
|
*/ |
|
public static void addUser(UserBean userBean) throws Exception { |
|
userBean.setPassword(TransmissionTool.defaultEncrypt(userBean.getPassword())); |
|
getUserService().addUser(userBean); |
|
} |
|
|
|
/** |
|
* 删除用户 |
|
* @param userBean |
|
*/ |
|
public static void updateUser(UserBean userBean) throws Exception { |
|
getUserService().editUser(userBean,getAdminUser().getId()); |
|
} |
|
|
|
/** |
|
* 删除用户 |
|
* @param user |
|
* @return |
|
*/ |
|
public static int deleteUser(User user) throws Exception { |
|
String userId = user.getId(); |
|
|
|
UserUpdateBean userUpdateBean = new UserUpdateBean(); |
|
userUpdateBean.setRemoveUserIds(new String[]{userId}); |
|
|
|
return getUserService().deleteUsers(userUpdateBean); |
|
} |
|
|
|
/** |
|
* 根据用户名获取用户实体 |
|
* @param userName |
|
* @return |
|
*/ |
|
public static User getUserByUserName(String userName) throws Exception { |
|
return getUserService().getUserByUserName(userName); |
|
} |
|
|
|
/** |
|
* 根据用户名获取用户实体 |
|
* @param userName |
|
* @return |
|
*/ |
|
public static UserBean getUserBeanByUserName(String userName ) throws Exception { |
|
String id = getUserService().getUserByUserName(userName).getId(); |
|
return getUser(id); |
|
} |
|
|
|
/** |
|
* 根据id获取用户 |
|
* @param id |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public static UserBean getUser(String id) throws Exception { |
|
return getUserService().getUser(id); |
|
} |
|
|
|
/** |
|
* 判断是否是管理员 |
|
* @param username |
|
* @return |
|
*/ |
|
public static boolean isAdmin(String username) throws Exception{ |
|
return getUserService().isAdmin(getUserByUserName(username).getId()); |
|
} |
|
|
|
/** |
|
* 禁用启用用户 |
|
* @param userId |
|
* @param state false 禁用 true 启用 |
|
* @throws Exception 异常说明失败 |
|
*/ |
|
public static void forbidUser(String userId,boolean state) throws Exception { |
|
getUserService().forbidUser(userId,state); |
|
} |
|
|
|
/** |
|
* 修改用户部门 |
|
* @param departmentId |
|
* @param postId |
|
* @param ud |
|
* @throws Exception |
|
*/ |
|
public static void updateDepartmentPostUsers(String departmentId, String postId, UserUpdateBean ud) throws Exception { |
|
getUserService().updateDepartmentPostUsers(departmentId,"",ud); |
|
} |
|
|
|
|
|
// /** |
|
// * 验证密码是否正确 |
|
// * @param psd 明文密码 |
|
// * @param user 根据用户名获取得用户对象 |
|
// * @return |
|
// */ |
|
// public static boolean checkPsd(String psd,User user){ |
|
// String shaPsd = CipherUtils.jdksha256(psd); |
|
// |
|
// return shaPsd.equals(user.getPassword()); |
|
// } |
|
public static User getCurrentUser(HttpServletRequest req) throws Exception { |
|
String username = LoginService.getInstance().getCurrentUserNameFromRequestCookie(req); |
|
|
|
if(Utils.isNullStr(username)){ |
|
return null; |
|
} |
|
|
|
return getUserByUserName(username); |
|
} |
|
|
|
public static UserBean getCurrentUserBean(HttpServletRequest req) throws Exception { |
|
String username = LoginService.getInstance().getCurrentUserNameFromRequestCookie(req); |
|
|
|
if(Utils.isNullStr(username)){ |
|
return null; |
|
} |
|
|
|
return getUserBeanByUserName(username); |
|
} |
|
|
|
/** |
|
* 获取用户部门角色 |
|
* @param username |
|
* @return |
|
* @throws Exception |
|
*/ |
|
private static UserRolesBean getUserRolesBean(String username) throws Exception { |
|
return FRUserUtils.getUserService().getUserDepAndCustomRoles(username); |
|
} |
|
|
|
/** |
|
* 获取部门职务 |
|
* @param username |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public static List<DepRoleBean> getDepRoleBean(String username) throws Exception{ |
|
return getUserRolesBean(username).getDepRoles(); |
|
} |
|
|
|
/** |
|
* 获取角色 |
|
* @param username |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public static List<String> getCustomRoles(String username) throws Exception{ |
|
return getUserRolesBean(username).getCustomRoles(); |
|
} |
|
|
|
public static UserBean getAdminUser() throws Exception { |
|
String adminid = getUserService().getAdminUserIdList().get(0); |
|
return getUser(adminid); |
|
} |
|
|
|
public static String getUsernameFromToken(String token){ |
|
String username = ExtendTokenProcessor.KEY.getUsername(token); |
|
return username; |
|
} |
|
|
|
}
|
|
|