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

📄 onlineaction.java

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

import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

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.sales.constants.SystemConstant;
import com.yuanchung.sales.exception.AccountNotEnableException;
import com.yuanchung.sales.exception.AccountNotFoundException;
import com.yuanchung.sales.exception.ApplicationException;
import com.yuanchung.sales.exception.IdentifyCodeIncorrectException;
import com.yuanchung.sales.exception.ObjNotFoundException;
import com.yuanchung.sales.exception.PasswordIncorrectException;
import com.yuanchung.sales.model.service.Category;
import com.yuanchung.sales.model.service.CustAccount;
import com.yuanchung.sales.model.service.ServiceOrder;
import com.yuanchung.sales.service.service.CategoryMgr;
import com.yuanchung.sales.service.service.CustAccountMgr;
import com.yuanchung.sales.service.service.ServiceOrderMgr;
import com.yuanchung.sales.struts.service.form.CustAccountForm;
import com.yuanchung.sales.struts.service.form.ServiceOrderForm;
import com.yuanchung.sales.util.Constants;
import com.yuanchung.sales.util.KeyBean;
import com.yuanchung.sales.util.OnlineSessionMgr;
import com.yuanchung.sales.util.SessionMgr;

public class OnlineAction extends DispatchAction {

	private static Logger logger = Logger.getLogger(OnlineAction.class);

	private CustAccountMgr custAccountMgr;
	private CategoryMgr categoryMgr;
	private ServiceOrderMgr serviceOrderMgr;

	public void setCustAccountMgr(CustAccountMgr custAccountMgr) {
		this.custAccountMgr = custAccountMgr;
	}

	public void setCategoryMgr(CategoryMgr categoryMgr) {
		this.categoryMgr = categoryMgr;
	}

	public void setServiceOrderMgr(ServiceOrderMgr serviceOrderMgr) {
		this.serviceOrderMgr = serviceOrderMgr;
	}

	/**
	 * 客户登录
	 * 
	 * @param mapping
	 * @param FaultLevelform
	 * @param request
	 * @return
	 * @throws Exception
	 */
	public String login(String loginName, String password, String code,
			HttpServletRequest request) throws Exception {
		logger.debug("开始登录");
		logger.debug("用户名是" + loginName);
		logger.debug("密码是" + password);
		String message = "";
		// 密码加密
		password = new KeyBean().getkeyBeanofStr(password);
		String sessionCode = null;
		if(request.getSession().getAttribute("code")!=null){
			sessionCode = (String)request.getSession().getAttribute("code");
		}
		logger.debug(code+"-:-"+sessionCode);
		try {
			CustAccount custAccount = custAccountMgr.getByNameAndPass(
					loginName, password,code,sessionCode);
			OnlineSessionMgr.setCustAccountSession(request, custAccount);
			logger.debug("登录成功");
		} catch (AccountNotFoundException anf) {
			message = anf.getMessage();
		} catch (PasswordIncorrectException pi) {
			message = pi.getMessage();
		} catch (AccountNotEnableException anf) {
			message = anf.getMessage();
		} catch (IdentifyCodeIncorrectException ici){
			message = ici.getMessage();
		}
		request.setAttribute("message", message);
		return message;
	}

	/**
	 * 注销客户
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward logout(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		CustAccount custAccount = OnlineSessionMgr
				.getCustAccountSession(request);
		if (custAccount != null) {
			OnlineSessionMgr.logoutSession(request);
			request.getSession().invalidate();
		}
		return mapping.findForward("loginerror");
	}

	// 判断用户是否已登录
	public boolean isHadLogin(HttpServletRequest request) {
		boolean state = false;
		CustAccount cust = (CustAccount) OnlineSessionMgr
				.getCustAccountSession(request);
		if (cust != null) {
			state = true;
		}
		System.out.println("有到这里吗");
		return state;
	}

	/**
	 * 客户登录后获取信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward getCustAccountInfo(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		String forward = "custInfo";
		CustAccount custAccount = OnlineSessionMgr
				.getCustAccountSession(request);
		request.setAttribute("custAccount", custAccount);
		return mapping.findForward(forward);
	}
	/**
	 * 客户登录后获取信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward viewMyInfo(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response)throws ApplicationException{
		String forward = "viewMyInfo";
		int id=0;
		String idStr = request.getParameter("id");
		if(idStr!=null && !"".equals(idStr)){
			id = Integer.parseInt(idStr);
		}
		CustAccount custAccount = new CustAccount();
		try{
			custAccount = custAccountMgr.getCustAccountById(id);
		}catch(RuntimeException re){
			logger.debug(re.getMessage());
			throw new ApplicationException(Constants.GETCUSTACCOUNT_EXCEPTION);
		}
		request.setAttribute("custAccount",custAccount);
		return mapping.findForward(forward);
	}
	/**
	 * 客户登录后获取信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward modifyMyInfo(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response)throws ApplicationException{
		CustAccountForm custForm = (CustAccountForm)form;
		String forward = "viewMyInfo";
		int id=0;
		String idStr = request.getParameter("id");
		if(idStr!=null && !"".equals(idStr)){
			id = Integer.parseInt(idStr);
		}
		CustAccount custAccount = new CustAccount();
		String message = "";
		try{
			custAccount = custAccountMgr.getCustAccountById(id);
			custAccountMgr.getCustAccountDAO().attachDirty(custAccount);
			message = Constants.MODIFYSUCCESS;
		}catch(RuntimeException re){
			logger.debug(re.getMessage());
			throw new ApplicationException(Constants.MODIFYCUSTACCOUNT_EXCEPTION);
		}
		request.setAttribute("message",message);
		request.setAttribute("custAccount",custAccount);
		return viewMyInfo(mapping, form, request, response);
	}
	
	/**
	 * 客户登录后获取信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward modifyPassword(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response)throws ApplicationException{
		String forward = "modifyMyPassword";
		int id=0;
		if(OnlineSessionMgr.getCustAccountSession(request)!=null){
			id = OnlineSessionMgr.getCustAccountSession(request).getId();
		}
		String oldPassword = request.getParameter("oldPassword");
		String newPassword = request.getParameter("newPassword");
		if(oldPassword!=null && !"".equals(oldPassword)){
			oldPassword = new KeyBean().getkeyBeanofStr(oldPassword);
			logger.debug(oldPassword);
		}
		if(newPassword!=null && !"".equals(newPassword)){
			newPassword = new KeyBean().getkeyBeanofStr(newPassword);
			logger.debug(newPassword);
		}
		CustAccount custAccount = null;
		String message = "";
		try{
			custAccount = custAccountMgr.getCustAccountById(id);
			if(!custAccount.getPassword().equals(oldPassword)){
				message = Constants.OLDPASSWORD_NOT_CORRENT;
			}else if(custAccount!=null){
				custAccount.setPassword(newPassword);
				custAccountMgr.modifyPassword(custAccount);
				message = Constants.MODIFYSUCCESS;
			}
		}catch(RuntimeException re ){
			logger.debug(re.getMessage());
			throw new ApplicationException(Constants.MODIFYPASSWORD_EXCEPTION);
		}
		request.setAttribute("message",message);
		return mapping.findForward(forward);
	}
	
	
}

⌨️ 快捷键说明

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