⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usermanageaction.java

📁 利用STRUTS2+SPRING+HIBERNATE/IBATIS建立的基本开发框架
💻 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 + -