📄 usermanageaction.java
字号:
package com.sunwah.baseapp.system.action;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.struts2.interceptor.validation.SkipValidation;
import com.sunwah.baseapp.action.QueryManageAction;
import com.sunwah.baseapp.common.ActionConstants;
import com.sunwah.baseapp.common.Constants;
import com.sunwah.baseapp.common.DictionaryConstants;
import com.sunwah.baseapp.common.SqlConstants;
import com.sunwah.baseapp.system.criteria.UserQueryCriteria;
import com.sunwah.baseapp.system.model.UserRole;
import com.sunwah.baseapp.system.model.Users;
import com.sunwah.baseapp.system.service.UserManager;
import com.sunwah.baseapp.system.service.UserManagerStatusCodes;
import com.sunwah.baseapp.system.vo.UserVO;
import com.sunwah.baseapp.util.Tools;
/**
* 用户管理Action类
*
* @author MARK
*
*/
public class UserManageAction extends QueryManageAction {
/**
*
*/
private static final long serialVersionUID = -2401451492861838700L;
private UserManager userManager;
private Users user;
private String password2;
private Long userId;
// 用户拥有角色ID列表
private List<Long> roleIds;
private UserQueryCriteria queryCriteria;
@SkipValidation
public String findUsers() {
super.query(SqlConstants.GET_USERS, SqlConstants.GET_USER_COUNT,
queryCriteria);
// 页面资源权限校验
super.check(ActionConstants.USER_MANAGE_FIND_USERS,
ActionConstants.USER_MANAGE_VIEW_USER,
ActionConstants.USER_MANAGE_ADD_USER,
ActionConstants.USER_MANAGE_EDIT_USER,
ActionConstants.USER_MANAGE_DELETE_USER,
ActionConstants.USER_MANAGE_EDIT_PASSWORD, null);
return SUCCESS;
}
@SkipValidation
public String toCreateUser() {
user = new Users();
user.setState(DictionaryConstants.STATE_ENABLED);
user.setUserEffDate(new Date());
user.setUserExpDate(Tools.stringToDate(Constants.MAXIMAL_DATE,
Constants.DATE_PATTERN));
user.setPwEffDate(new Date());
user.setPwExpDate(Tools.stringToDate(Constants.MAXIMAL_DATE,
Constants.DATE_PATTERN));
return SUCCESS;
}
public String createUser() {
UserVO operator = (UserVO) this.getSession()
.get(Constants.SESSION_USER);
user.setPassword(DigestUtils.md5Hex((user.getPassword())));
user.setIsOnLine(DictionaryConstants.IS_ON_LINE_N);
user.setCreateUserId(operator.getUserId());
user.setCreateDate(new Date());
user.setModifyUserId(operator.getUserId());
user.setModifyDate(new Date());
int statusCode = this.userManager.createUser(user, roleIds);
if (statusCode == UserManagerStatusCodes.USER_LOGIN_NAME_EXIST) {
super.addActionError(getText("user.loginName.existed"));
return INPUT;
}
return SUCCESS;
}
@SkipValidation
public String findUser() {
user = this.userManager.findUser(userId);
if (user == null) {
this.addActionError(getText("data.not.exist"));
return ERROR;
}
return SUCCESS;
}
@SkipValidation
public String deleteUser() {
int statusCode = this.userManager.deleteUser(userId);
if (statusCode == UserManagerStatusCodes.DATA_NOT_EXIST) {
this.addActionError(getText("data.not.exist"));
return ERROR;
}
return SUCCESS;
}
@SkipValidation
public String toUpdatePassword() {
user = this.userManager.findUser(userId);
if (user == null) {
this.addActionError(getText("data.not.exist"));
return ERROR;
}
user.setPassword(null);
return SUCCESS;
}
public String updatePassword() {
UserVO operator = (UserVO) this.getSession()
.get(Constants.SESSION_USER);
this.userManager.updatePassword(operator.getUserId(), user.getUserId(),
user.getPassword());
return SUCCESS;
}
@SkipValidation
public String toUpdateUser() {
user = this.userManager.findUser(userId);
if (user == null) {
this.addActionError(getText("data.not.exist"));
return ERROR;
}
// 获取用户拥有角色ID
roleIds = new ArrayList<Long>();
Set userRoleSet = user.getUserRoles();
if (userRoleSet != null) {
for (Object obj : userRoleSet) {
UserRole userRole = (UserRole) obj;
roleIds.add(userRole.getRoles().getRoleId());
}
}
return SUCCESS;
}
public String updateUser() {
UserVO operator = (UserVO) this.getSession()
.get(Constants.SESSION_USER);
user.setModifyUserId(operator.getUserId());
user.setModifyDate(new Date());
int statusCode = this.userManager.updateUser(user, roleIds);
// 登录名已存在
if (statusCode == UserManagerStatusCodes.USER_LOGIN_NAME_EXIST) {
super.addActionError(getText("user.loginName.existed"));
return INPUT;
}
return SUCCESS;
}
public UserQueryCriteria getQueryCriteria() {
return queryCriteria;
}
public void setQueryCriteria(UserQueryCriteria queryCriteria) {
this.queryCriteria = queryCriteria;
}
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
public Users getUser() {
return user;
}
public void setUser(Users user) {
this.user = user;
}
public String getPassword2() {
return password2;
}
public void setPassword2(String password2) {
this.password2 = password2;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public List<Long> getRoleIds() {
return roleIds;
}
public void setRoleIds(List<Long> roleIds) {
this.roleIds = roleIds;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -