📄 onlineaction.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 + -