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

📄 loginconfig.java

📁 此为连接池实现程序
💻 JAVA
字号:
/**
 *Description:登录处理
 *Author:肖建军
 *Copyright版权所有
 */
package com.sunrise.chnl.obj;

import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.util.Properties;
import java.util.Vector;
import java.util.Hashtable;
import java.util.Date;
import java.util.Enumeration;
import org.w3c.dom.Document;
import com.sunrise.chnl.obj.ReadXml;

// Referenced classes of package testlogin:
//            Structure

public class LoginConfig
{

  public String s_emp_id;   //员工工号
  public String s_emp_name; //员工姓名
  public String s_role_ind; //员工角色
  public String s_srvc_hall;//服务厅编码
  public String s_area_cd;  //区域编码
  private static Hashtable htb = new Hashtable();

  public LoginConfig(){
  }

  /**
   * @param pConn:数据库连接事务
   * @param p_prop:参数对象
   * @return 登录结果
   */
  public String checkUser(Connection pConn, Properties p_param){
    String s_ret = "0";
    s_emp_id = p_param.get("emp_id").toString();
    String s_login_pwd = p_param.get("emp_passwd").toString();
    try{
      int i_cnt = 0;
      String s_pwd = "";
      String s_sql = "SELECT a.EMP_NAM,a.ROLE_IND,a.EMP_PASSWD,a.SRVC_HALL_CD,b.AREA_CD";
      s_sql += " FROM TC_EMP_INF a LEFT JOIN TC_SRVC_HALL AS b ON b.SRVC_HALL_CD=a.SRVC_HALL_CD";
      s_sql += " WHERE a.EMP_ID = '"+s_emp_id+"'";
      Statement stmt=pConn.createStatement();
      ResultSet rsst=stmt.executeQuery(s_sql);
      while(rsst.next()){
              s_emp_name = rsst.getString(1)==null?"":rsst.getString(1).trim();
              s_role_ind = rsst.getString(2)==null?"1":rsst.getString(2).trim();
              s_pwd = rsst.getString(3)==null?"":rsst.getString(3).trim();
              s_srvc_hall = rsst.getString(4)==null?"":rsst.getString(4).trim();
        s_area_cd = rsst.getString(5)==null?"":rsst.getString(5).trim();
        i_cnt++;
      }
      if(i_cnt==0) return "1";
      if(!s_login_pwd.trim().equals(s_pwd)) return "2";
      if(s_area_cd.length()==0) return "3";
      if(s_srvc_hall.length()==0) return "4";
      return "0";
    }catch(Exception sqlexception){return "-1";}
  }

  /**
   * @param p_id:登录人工号
   * @param p_name:登录人姓名
   * @param p_host_addr:主机地址
   * @param p_host_name:主机名称
   */
  public void regeditUser(String p_id, String p_name, String p_host_addr){
    if(htb != null){
      synchronized(htb){
        Vector v_login = (Vector)htb.get(p_id + p_host_addr);
        if(v_login != null && v_login.size() > 0) return;
        v_login = new Vector();
        v_login.addElement(p_id);
        v_login.addElement(p_name);
        v_login.addElement(p_host_addr);
        v_login.addElement("登录进站");
        v_login.addElement(new Date());
        v_login.addElement(new Date());
        htb.put(p_id + p_host_addr, v_login);
      }
      return;
    }
    else{
      return;
    }
  }

  private long getDelayTime(){
    try{
      ReadXml read_xml = new ReadXml();
      Document documnet = read_xml.getDocument(PublicBean.getConfigFile());
      String s_delay_time = read_xml.getConfig(documnet,"login","delay");
      long l_delay_time = Long.valueOf(s_delay_time).longValue()*1000;
      return l_delay_time;
    }catch(Exception e){
      return 60000;
    }

  }

  public boolean islogin(String p_id, String p_host_addr){
    if(htb != null){
      synchronized(htb){
        Vector v_login = (Vector)htb.get(p_id + p_host_addr);
        if(v_login != null && v_login.size() > 0){
          Date d_curr = new Date();
          Date d_last = (Date)v_login.elementAt(5);
          if(d_curr.getTime() - d_last.getTime() > getDelayTime()){
            htb.remove(p_id + p_host_addr);
            return false;
          }
          return true;
        }
      }
      return false;
    }
    return false;
  }

  public Vector getLoginUser(){
    if(htb != null){
      Vector v_list = new Vector();
      Date d_curr = new Date();
      synchronized(htb){
        for(Enumeration enumeration = htb.keys(); enumeration.hasMoreElements();){
          String s_login = (String)enumeration.nextElement();
          Vector v_login = (Vector)htb.get(s_login);
          if(s_login != null){
            Date d_last = (Date)v_login.elementAt(5);
            if(d_curr.getTime() - d_last.getTime() > getDelayTime()){
              htb.remove(s_login);
            }
            else{
              v_list.addElement(v_login);
            }
          }
        }
      }
      return v_list;
    }
    return null;
  }

  public int setStatus(String p_id, String p_statu, String p_host_addr){
    if(htb != null){
      synchronized(htb){
        Vector v_login = (Vector)htb.get(p_id + p_host_addr);
        if(v_login == null || v_login.size() == 0){
          return -1;
        }
        Vector v_temp = new Vector();
        v_temp.addElement(v_login.elementAt(0));
        v_temp.addElement(v_login.elementAt(1));
        v_temp.addElement(v_login.elementAt(2));
        v_temp.addElement(p_statu);
        v_temp.addElement(v_login.elementAt(4));
        v_temp.addElement(new Date());
        htb.remove(p_id + p_host_addr);
        htb.put(p_id + p_host_addr, v_temp);
        return 0;
      }
    }
    return -2;
  }

  public int refresh(String p_id, String p_host_addr){
    if(htb != null){
      synchronized (htb) {
        Vector v_login = (Vector) htb.get(p_id + p_host_addr);
        if (v_login == null || v_login.size() == 0) {
          return -1;
        }
        Vector v_temp = new Vector();
        v_temp.addElement(v_login.elementAt(0));
        v_temp.addElement(v_login.elementAt(1));
        v_temp.addElement(v_login.elementAt(2));
        v_temp.addElement(v_login.elementAt(3));
        v_temp.addElement(v_login.elementAt(4));
        v_temp.addElement(new Date());
        htb.remove(p_id + p_host_addr);
        htb.put(p_id + p_host_addr, v_temp);
        return 0;
      }
    }
    return -2;
  }

  public void logout(String p_id, String p_host_addr){
    if (htb != null) {
      synchronized (htb) {
        Vector v_login = (Vector) htb.get(p_id + p_host_addr);
        if (v_login == null || v_login.size() == 0){
          return;
        }
        htb.remove(p_id + p_host_addr);
      }
    }
  }
}

⌨️ 快捷键说明

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