package com.mingrisoft.action;

import com.mingrisoft.actionSuper.MySuperAction;
import com.mingrisoft.dao.OpDB;
import com.mingrisoft.model.UserSingle;

public class LogInOutAction extends MySuperAction {	
	protected UserSingle user;	//封装表单数据的JavaBean
	
	public UserSingle getUser() {
		return user;
	}
	public void setUser(UserSingle user) {
		this.user = user;
	}

	/** 功能：判断当前用户是否登录 */
	public String isLogin(){
		Object ob=session.get("loginUser");
 		//如果对象为空，或者不是UserSingle类的实例，表示没有登录
		if(ob==null||!(ob instanceof UserSingle)) 
			return INPUT; 		//返回登录页面
		else						//已经登录
			return LOGIN; 		//进入后台
	}

	/** 功能：查询数据表，验证是否存在该用户 */
	public String Login(){
		String sql="select * from tb_user where user_name=? and user_password=?";
		Object[] params={user.getUserName(),user.getUserPassword()};	//获取输入的用户名和密码，并进行保存
		OpDB myOp=new OpDB();
		if(myOp.LogOn(sql, params)){								//存在该用户，登录成功
			session.put("loginUser",user);							//保存当前用户到session中
			return LOGIN;										//进入后台
		}
		else{													//用户名或密码错误
			addFieldError("loginE",getText("city.login.wrong.input"));		//保存提示信息
			return INPUT;										//返回登录页面
		}
	}

	/** 功能：退出登录 */
	public String Logout(){		
		session.clear();	
		return "logout";
	}
	
	/** 功能：验证是否输入用户名和密码 */
	public void validateLogin() {
		String name=user.getUserName();
		String password=user.getUserPassword();
		
		if(name==null||name.equals(""))
			addFieldError("nameError",getText("city.login.no.name"));
		if(password==null||password.equals(""))
			addFieldError("passwordError",getText("city.login.no.password"));
	}
}
