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

📄 useraction.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.yuanchung.sales.struts.user.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.yuanchung.organize.treeview.PositionVo;
import com.yuanchung.organize.treeview.TreeViewMgr;
import com.yuanchung.sales.exception.ApplicationException;
import com.yuanchung.sales.exception.SystemException;
import com.yuanchung.sales.model.Treeview;
import com.yuanchung.sales.model.user.User;
import com.yuanchung.sales.service.user.UserMgr;
import com.yuanchung.sales.struts.user.form.UserForm;
import com.yuanchung.sales.util.Constants;
import com.yuanchung.sales.util.KeyBean;
import com.yuanchung.sales.util.StringTool;
import com.yuanchung.sales.util.XPage;

public class UserAction extends DispatchAction {
	private static Logger logger = Logger.getLogger(UserAction.class);
	private UserMgr userMgr;

	public void setUserMgr(UserMgr userMgr) {
		this.userMgr = userMgr;
	}

	private TreeViewMgr treeViewMgr;
	public TreeViewMgr getTreeViewMgr() {
		return treeViewMgr;
	}
	public void setTreeViewMgr(TreeViewMgr treeViewMgr) {
		this.treeViewMgr = treeViewMgr;
	}
	/**
	 * 查找所有的用户
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward allUser(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		List users = userMgr.getAll();
		if (users != null && users.size() > 0) {
			String currentPage = request.getParameter("currentPage");
			XPage xpage = new XPage(request.getContextPath()+"/admin/user.do?method=allUser", users.size(), 1, 12, users);
			if (currentPage != null && !currentPage.equals("")) {
				xpage.setCurrentItems(Integer.parseInt(currentPage));
			} else {
				xpage.setCurrentItems(1);
			}
			xpage.setPageBar();
			request.setAttribute("xpage", xpage);
		} else {
			request.setAttribute("isSuccess", Constants.NOUSER);
		}
		return mapping.findForward("userList");
	}

	/**
	 * 新建用户
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward newCreateUser(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		PrintWriter out = null;
		try {
			out = response.getWriter();
		} catch (IOException e) {
			e.printStackTrace();
		}
		UserForm userForm = (UserForm) form;
		System.out.println("姓名为空吗" + userForm.getFamilyName()
				+ userForm.getEmail());
		String password = userForm.getPassword();
		int deptId = userForm.getDeptId();
		if (!StringTool.isNotBlank(password)) {// 若密码为空
			password = Constants.INITCIPHER;//则初始化密码
		}		
		/* 加密 */
		password = new KeyBean().getkeyBeanofStr(password);
		try{
			//保存用户,默认所属客户
			userMgr.addUser(userForm, password);
			
		}catch(Exception e){
			request.setAttribute(Constants.ERRMSG, Constants.UNABLESAVEUSER);
			e.printStackTrace();
			throw new ApplicationException(Constants.UNABLESAVEUSER);
		}
		String forward = "";
		String param = request.getParameter("param");
		if (param != null && param.equals("newAgain")) {// 若是保存并新建
			forward = "newUser";
		}
		else{
		out.print("<script>alert('添加成功!');if(confirm('是否继续添加?')){location='"
				+ request.getContextPath()
				+ "/admin/user.do?method=toAddUser&deptId="+deptId+"'}else{location='"
				+ request.getContextPath()
				+ "/admin/user.do?method=allUser'}</script>");
		}
		return mapping.findForward(forward);
	}

	/**
	 * 修改用户
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward modifyUser(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		PrintWriter out = null;
		try {
			out = response.getWriter();
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		UserForm userForm = (UserForm) form;
		logger.debug("用户名为空吗" + userForm.getUserName());
		String id = request.getParameter("id");
		User user = userMgr.getUserById(Integer.parseInt(id));	
		//给密码加MD5加密 by张明强
		String password = userForm.getPassword();
		password = new KeyBean().getkeyBeanofStr(password);
		//加密结束
		try {
			BeanUtils.copyProperties(user, userForm);
			user.setPassword(password);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}			
		Treeview treeview = userMgr.findTreeviewById(userForm.getPositionId());
		user.setTreeview(treeview);
		user.setPosition(treeview.getName());//岗位
		
		userMgr.updateUser(user);//修改用户
		String forward = "";
		String param = request.getParameter("param");
		if (param != null && param.equals("newAgain")) {// 若是保存并新建
			forward = "newUser";
		}
		else{
		out.print("<script>alert('修改成功!');location='"
							+ request.getContextPath()
							+ "/admin/user.do?method=allUser'</script>");
		}
		return mapping.findForward(forward);
	}
	/**
	 * 跳转到添加用户界面,需要加载相关数据;
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward toAddUser(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws SystemException {
		String deptId = request.getParameter("deptId");//部门ID
		logger.debug("部门ID:"+deptId);
		if(StringTool.isNotBlank(deptId)){
			try{			
				//根据ID查找部门			
				Treeview dept = treeViewMgr.getTreeviewById(Integer.parseInt(deptId));
				//保存部门
				request.setAttribute("dept", dept);
				//根据部门查找岗位
				List<PositionVo> positions = treeViewMgr.getPositionByDeptId(Integer.parseInt(deptId));
				//保存岗位列表
				request.setAttribute("positions", positions);
				//递归查找根节点				
				String nodePath = treeViewMgr.getParentByChild(dept, new StringBuffer(dept.getName()));
				
				request.setAttribute("nodePath", nodePath);
			}catch(Exception e){
				e.printStackTrace();
				request.setAttribute(Constants.ERRMSG, Constants.FINDOUTPATH);
				throw new SystemException(Constants.FINDOUTPATH);
			}
		}
		return mapping.findForward("toForwardNewUser");
	}
	/**
	 * 删除用户
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward deleteUser(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		String message = "";
//		request.setAttribute("delFlag", "y");

		String rid = request.getParameter("userId");
		logger.debug("删除用户1: " + rid);
		rid = rid.substring(1,rid.length());
		logger.debug("删除用户2: " + rid);
		if (rid != null && !rid.equals("")) {
			String[] userIds = rid.split(",");
			try {
				// 根据ID删除指定的用户
				userMgr.deleteUser(userIds);
				message = "删除用户成功";
			} catch (Exception e) {
				message = "删除用户失败!";
			}
			request.setAttribute("message", message);
		}
		return allUser(mapping, form, request, response);
	}
/*	public ActionForward deleteUser(ActionMapping mapping, ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws ApplicationException{
		System.out.println("有到这里吗。。。删除用户");
		String iValue = request.getParameter("iValue");
		//前置条件
		if(!StringTool.isNotBlank(iValue)) {
			request.setAttribute(Constants.ERRMSG, Constants.DELETEUSERERROR);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -