?? useraction.java
字號:
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('是否繼續(xù)添加?')){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);
//加密結(jié)束
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);
}
/**
* 跳轉(zhuǎn)到添加用戶界面,需要加載相關(guān)數(shù)據(jù);
*
* @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{
//根據(jù)ID查找部門
Treeview dept = treeViewMgr.getTreeviewById(Integer.parseInt(deptId));
//保存部門
request.setAttribute("dept", dept);
//根據(jù)部門查找崗位
List<PositionVo> positions = treeViewMgr.getPositionByDeptId(Integer.parseInt(deptId));
//保存崗位列表
request.setAttribute("positions", positions);
//遞歸查找根節(jié)點
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 {
// 根據(jù)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);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -