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

📄 gbs_loginaction.java

📁 对日软件外包 为东芝做的一个全球商业管理系统
💻 JAVA
字号:
/** 
 * method GBS_LoginAction.java
 * created on 07-29-2004
 * 
 * @author   GXK
 * @version  1.0
 */

package ACTION;

import java.util.ArrayList;

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

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import COMMON.BaseCommonCheck;
import COMMON.BaseDispatchAction;
import COMMON.MessageList;
import COMMON.ReturnValue;
import COMMON.SystemConstants;
import DataBean.GBS_LoginSessionBean;
import DataBean.GBS_MMember_stBean;
import LOGIC.GBS_LoginActionLogic;

public class GBS_LoginAction extends BaseDispatchAction implements SystemConstants {

	// --------------------------------------------------------- Instance Variables

	// --------------------------------------------------------- Methods
	/** 
	 * Method init
	 * @param ActionMapping mapping
	 * @param ActionForm form
	 * @param HttpServletRequest request
	 * @param HttpServletResponse response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
		throws Exception {

		GBS_LoginForm requestForm = (GBS_LoginForm) form;

		if (!BaseCommonCheck.isEmpty(requestForm.getJumpTo())) {
			if (requestForm.getJumpTo().equals("request")) {
				String url = "../GBS_request.do?method=init";
				url += "&customerID=" + requestForm.getCustomerId();
				url += "&rfpNo=" + requestForm.getRfpNo();
				this.saveToSession(request, loginJumpTo, url);
			} else if (requestForm.getJumpTo().equals("result")) {
				String url = "../GBS_result.do?method=init";
				url += "&customerId=" + requestForm.getCustomerId();
				url += "&rfpNo=" + requestForm.getRfpNo();
				this.saveToSession(request, loginJumpTo, url);
			} else if (requestForm.getJumpTo().equals("reply")) {
				String url = "../GBS_reply.do?method=init";
				url += "&customerID=" + requestForm.getCustomerId();
				url += "&rfpNo=" + requestForm.getRfpNo();
				this.saveToSession(request, loginJumpTo, url);
			}
		}

		requestForm.reset(mapping, request);
		return (mapping.findForward(nextview));
	}

	/** 
	 * Method login
	 * @param ActionMapping mapping
	 * @param ActionForm form
	 * @param HttpServletRequest request
	 * @param HttpServletResponse response
	 * @return ActionForward
	 * @throws Exception
	 */

	public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
		throws Exception {
		GBS_LoginForm requestForm = (GBS_LoginForm) form;
		//InputCheck

		MessageList errorMsg = inputCheck(requestForm, request);
		if (errorMsg.size() > 0) {
			//save error to request
			this.setMessage(errorMsg);
			return (mapping.findForward(nextview));
		}

		ReturnValue returnValue = new ReturnValue();

		//get user date from db
		GBS_LoginActionLogic logic = new GBS_LoginActionLogic(this.getDataSource(request));
		returnValue = logic.getMmmber_st(requestForm.getUserId());
		if (returnValue.isBussinessError()) {
			this.setMessage(returnValue.getMessageList());
			return (mapping.findForward(nextview));
		}
		GBS_MMember_stBean member_st = (GBS_MMember_stBean) returnValue.getDataValue();

		//user is not exist in DB
		if (member_st == null || member_st.getUserId() == null || member_st.getUserId().trim().equals("")) {
			this.setMessage("userId", requestForm.getUserId(), "10000005", Integer.MIN_VALUE);
			return (mapping.findForward(nextview));
			//passwd is wrong
		} else if (!member_st.getPassword().equals(requestForm.getPassword())) {
			this.setMessage("password", requestForm.getPassword(), "10000006", Integer.MIN_VALUE);
			return (mapping.findForward(nextview));
		} else {
			//write user data to session
			GBS_LoginSessionBean sessionBean = new GBS_LoginSessionBean();
			//if()
			sessionBean.setAdminAuthority(member_st.getAdminAuthority() == null ? "" : member_st.getAdminAuthority());
			sessionBean.setDownloadOk(member_st.getDownloadOk() == null ? "" : member_st.getDownloadOk());
			sessionBean.setMenberKind(member_st.getMenberKind() == null ? "" : member_st.getMenberKind());
			sessionBean.setMemberNameFirst(member_st.getMemberNameFirst());
			sessionBean.setMemberNameLast(member_st.getMemberNameLast());
			sessionBean.setPassword(member_st.getPassword());
			sessionBean.setSubsidiaryCode1(member_st.getSubsidiaryCode() == null ? "" : member_st.getSubsidiaryCode());
			sessionBean.setUserId(member_st.getUserId());
			sessionBean.setDept(member_st.getDept() == null ? "" : member_st.getDept());
			sessionBean.setEmail(member_st.getEmail() == null ? "" : member_st.getEmail());

			this.saveToSession(request, USERINFOMATION, sessionBean);
			//get SubsidiaryCode2 by SubsidiaryCode1 from DB
			returnValue = logic.getSubsidiarycode2(member_st.getSubsidiaryCode());
			if (returnValue.isError()) {
				if (returnValue.isBussinessError()) {
					if("".equals(BaseCommonCheck.convertNullToSpace(member_st.getSubsidiaryCode()))){
						this.setMessage(returnValue.getMessageList());
						return (mapping.findForward(nextview));
					}else{
						sessionBean.setSubsidiaryCode2(member_st.getSubsidiaryCode());
						returnValue = logic.getSubsidiaryName(member_st.getSubsidiaryCode());
						if (returnValue.isError()) {
							if (returnValue.isBussinessError()) {
								this.setMessage(returnValue.getMessageList());
								return (mapping.findForward(nextview));
							}
						}
						String tmpStr = "";
						if (returnValue.getDataValue() != null) {
							tmpStr = (String) returnValue.getDataValue();
						}
						sessionBean.setSubsidiaryName(tmpStr);
						returnValue = logic.getPlusHour(member_st.getSubsidiaryCode());
						if (returnValue.isError()) {
							if (returnValue.isBussinessError()) {
								this.setMessage(returnValue.getMessageList());
								return (mapping.findForward(nextview));
							}
						}
						String plusHour = returnValue.getDataValue() == null ? "" : returnValue.getDataValue().toString();
						sessionBean.setPlusHour(Integer.valueOf(plusHour).intValue());
						return (mapping.findForward("MainFrame"));
					}
					
					/*
					sessionBean.setSubsidiaryCode2(member_st.getSubsidiaryCode());
					returnValue = logic.getSubsidiaryName(member_st.getSubsidiaryCode());
					if (returnValue.isError()) {
						if (returnValue.isBussinessError()) {
							this.setMessage(returnValue.getMessageList());
							return (mapping.findForward(nextview));
						}
					}
					//Add by Gxk 2004/09/28 Start
					String tmpStr = "";
					if (returnValue.getDataValue() != null) {
						tmpStr = (String) returnValue.getDataValue();
					}
					sessionBean.setSubsidiaryName(tmpStr);
					//sessionBean.setSubsidiaryName((String) returnValue.getDataValue());
					//Add by Gxk 2004/09/28 End
					returnValue = logic.getPlusHour(member_st.getSubsidiaryCode());
					if (returnValue.isError()) {
						if (returnValue.isBussinessError()) {
							this.setMessage(returnValue.getMessageList());
							return (mapping.findForward(nextview));
						}
					}
					String plusHour = returnValue.getDataValue() == null ? "" : returnValue.getDataValue().toString();
					sessionBean.setPlusHour(Integer.valueOf(plusHour).intValue());
					//this.setMessage(returnValue.getMessageList());*/
				} else {
					return (mapping.findForward(nextview));
				}
			} else {
				ArrayList subsidiaryCode2List = (ArrayList) returnValue.getDataValue();
				if (subsidiaryCode2List.size() > 1) {
					//jump to Loginsub page to select subsidiaryCode
					requestForm.setSubPage("true");
					return (mapping.findForward(nextview));
				} else if (subsidiaryCode2List.size() == 1) {
					sessionBean.setSubsidiaryCode2(
						subsidiaryCode2List.get(0) == null ? "" : subsidiaryCode2List.get(0).toString());
					returnValue =
						logic.getSubsidiaryName(subsidiaryCode2List.get(0) == null ? "" : subsidiaryCode2List.get(0).toString());
					if (returnValue.isError()) {
						if (returnValue.isBussinessError()) {
							this.setMessage(returnValue.getMessageList());
							return (mapping.findForward(nextview));
						}
					}
					//Add by Gxk 2004/09/28 Start
					if (returnValue.getDataValue() == null) {
						sessionBean.setSubsidiaryName("");
					} else {
						//Add by Gxk 2004/09/28 End
						sessionBean.setSubsidiaryName((String) returnValue.getDataValue());
						//Add by Gxk 2004/09/28 Start
					}
					//Add by Gxk 2004/09/28 End
					returnValue =
						logic.getPlusHour(subsidiaryCode2List.get(0) == null ? "" : subsidiaryCode2List.get(0).toString());
					if (returnValue.isError()) {
						if (returnValue.isBussinessError()) {
							this.setMessage(returnValue.getMessageList());
							return (mapping.findForward(nextview));
						}
					}
					String plusHour = returnValue.getDataValue() == null ? "0" : returnValue.getDataValue().toString();
					sessionBean.setPlusHour(Integer.valueOf(plusHour).intValue());
				}
				this.saveToSession(request, USERINFOMATION, sessionBean);
			}
		}
		requestForm.reset(mapping, request);
		return (mapping.findForward("MainFrame"));
	}

	/** 
	 * Method loginsub
	 * @param ActionMapping mapping
	 * @param ActionForm form
	 * @param HttpServletRequest request
	 * @param HttpServletResponse response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward loginsub(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception {
		GBS_LoginForm requestForm = (GBS_LoginForm) form;

		ReturnValue returnValue = new ReturnValue();
		//write   sub Subsidiary infomation into LoginSessionBean
		GBS_LoginSessionBean sessionBean = (GBS_LoginSessionBean) this.getFromSession(request, USERINFOMATION);
		sessionBean.setSubsidiaryCode2(requestForm.getSubsidiaryCode());
		GBS_LoginActionLogic logic = new GBS_LoginActionLogic(this.getDataSource(request));

		//Get subsidiaryCode and set to session
		returnValue = logic.getSubsidiaryName(requestForm.getSubsidiaryCode());
		if (returnValue.getDataValue() != null) {
			sessionBean.setSubsidiaryName((String) returnValue.getDataValue());
		}
		//Get the plushour and set to session
		returnValue = logic.getPlusHour(requestForm.getSubsidiaryCode());
		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
				return (mapping.findForward(nextview));
			}
		}
		String plusHour = returnValue.getDataValue() == null ? "0" : returnValue.getDataValue().toString();
		sessionBean.setPlusHour(Integer.valueOf(plusHour).intValue());

		requestForm.reset(mapping, request);
		return (mapping.findForward("MainFrame"));
	}

	/** 
	 * Method loginsub
	 * @param ActionMapping mapping
	 * @param ActionForm form
	 * @param HttpServletRequest request
	 * @param HttpServletResponse response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward logout(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
		throws Exception {

		System.out.println("[INFO] A USER LOGOUT!!");
		GBS_LoginForm requestForm = (GBS_LoginForm) form;
		request.getSession().invalidate();

		return null;
	}

	/**
	 * inputCheck
	 * @param thisForm GBS_LoginForm
	 * @param request HttpServletRequest
	 * @throws Exception
	 * @return ErrorMessages
	 */
	private MessageList inputCheck(GBS_LoginForm thisForm, HttpServletRequest request) throws Exception {

		//create ErrorMessages to display error message
		MessageList messages = new MessageList();

		//check userid

		if (BaseCommonCheck.isEmpty(thisForm.getUserId())) {
			messages.setMessage("userId", thisForm.getUserId(), "10000009", Integer.MIN_VALUE, new Object[] { "User ID" });
		}
		//passwd check 
		if (BaseCommonCheck.isEmpty(thisForm.getPassword())) {
			messages.setMessage("password", thisForm.getPassword(), "10000009", Integer.MIN_VALUE, new Object[] { "Password" });
		}
		if (thisForm.getPassword().length() < 4) {
			messages.setMessage("password", thisForm.getPassword(), "10000007", Integer.MIN_VALUE, "Password");
		}
		return messages;
	}

}

⌨️ 快捷键说明

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