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

📄 logininfodao.java

📁 中国移动定位引擎的客户端
💻 JAVA
字号:
package ffcs.lbp.dao;

import java.net.InetSocketAddress;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;
import java.util.List;

import ffcs.db.DBPool;
import ffcs.db.JdbcUtil;
import ffcs.logging.Log;
import ffcs.logging.LogFactory;
/**
* <p>Title: 小区推送LBP项目</p>
* <p>Description:
*   访问内部模块登录信息表DAO,
* </p>
* <p>Copyright: 2007 福建福富软件技术股份有限公司 </p>
* <p>Company: 福建福富软件技术股份有限公司</p>
* @author chenxin
* @version $Rev:1.0 $Date: 2007-06-28
*/
public class LoginInfoDao {
    
    private Log log = LogFactory.getLog(LoginInfoDao.class);
    
	//SqlExecutor sqlExecute = new SqlExecutor();

//	private String sql = "select seq_id,user_name,password,center_id,loggin_type from login_info ";
	private String sqlUpdateConn = "update login_info set conn_time=sysdate ";
	private String sqlUpdateDisConn  = "update login_info set dis_conn_time=sysdate ";

	/**
	 * 到数据库中验证位置信息模块的登录信息,是否正确
     * @param userName 用户名称
     * @param password 用户密码
     * @param centerId 中心编号
     * @return int 错误号
     * 	SUCC =0;	ERR_User =1;	ERR_Passwd =2;	ERR_IP =3;	ERR_ModuleType =4;
		ERR_ModuleNo =5;	ERR_RELOGIN =6;	ERR_TimeOut =7;	ERR_Parse =8;	ERR_DB =9;
     * @throws SQLException
     */
	public int  checkUser(String userName, String password, int OrgSystemID,int DstSystemID,java.net.SocketAddress address) throws SQLException {
		int _code=0;
		int src_sys_type = (OrgSystemID >> 16) & 0x0000FFFF;
		int src_sys_id = OrgSystemID & 0x0000FFFF;
		int dst_sys_type = (DstSystemID >> 16) & 0x0000FFFF;
		int dst_sys_id = DstSystemID & 0x0000FFFF;
		InetSocketAddress iad=(InetSocketAddress)address;
		String ip=iad.getAddress().getHostAddress();
		
        int sql_sys_type=0;
        int sql_sys_id=0;
        String sql_user="";
        String sql_pwd="";
        String  sql_ip="";
        
        
		
        String user_sql="select src_sys_type, src_sys_id, dst_sys_type, dst_sys_id, " +
			"user_id, user_passwd, src_ip, max_in_flow, max_out_flow from login_cfg " +
			"where dst_sys_type='"+dst_sys_type+"' and dst_sys_id='"+dst_sys_id+"' ";
		Connection conn = null;
		Statement st =null;
		ResultSet rs = null;
		try {
			conn = DBPool.getConnection();
			st = conn.createStatement();
            rs = st.executeQuery(user_sql.toString());
			if (rs.next()) {
				  sql_sys_type=rs.getInt("src_sys_type");
				  sql_sys_id=rs.getInt("src_sys_id");
				  sql_user=rs.getString("user_id");
				  sql_pwd=rs.getString("user_passwd");
				  sql_ip=rs.getString("src_ip");
	    		}
			if(!sql_user.equals(userName)){
				 return 1;
			}
			if(!sql_pwd.equals(password)){
				 return 2;
			}
			if(!sql_ip.equals(ip)){
				 return 3;
			}
			if(sql_sys_type!=src_sys_type){
				 return 4;
			}
			if(sql_sys_id!=src_sys_id){
				 return 5;
			}
			return _code;
		}catch(SQLException sqe){
			log.error("验证位置信息模块登录时,发生数据库异常");
			return 9;
		}
		finally {
			JdbcUtil.closeResultSet(rs);
			JdbcUtil.closeStat(st);
			JdbcUtil.closeConn(conn);
			
		}
		
	
	}
	
	public int updateConn(int centerId,int moduleType) throws SQLException {
		StringBuffer  sqlTemp = new StringBuffer(sqlUpdateConn);
		sqlTemp.append(",status=1 ");
		sqlTemp.append(" where 1=1 ");
		if (centerId >-1) {
			sqlTemp.append( " and center_id=" + centerId);
		}
		if (moduleType>-1) {
			sqlTemp.append( " and MODULE_TYPE=" + moduleType);
		}
        return update(sqlTemp.toString());
	}

	public int updateDisConn(int centerId,int moduleType) throws SQLException {
		StringBuffer  sqlTemp = new StringBuffer(sqlUpdateDisConn);
		sqlTemp.append(",status=0 ");
		sqlTemp.append(" where 1=1 ");
		if (centerId >-1) {
			sqlTemp.append( " and center_id=" + centerId);
		}
		if (moduleType>-1) {
			sqlTemp.append( " and MODULE_TYPE=" + moduleType);
		}
        return update(sqlTemp.toString());
	}
	
	public int update(String sql) throws SQLException {
		int updateResult = -1;
		
		Connection conn = null;
		Statement st =null;
		try {
			conn = DBPool.getConnection();
			st = conn.createStatement();
			updateResult = st.executeUpdate(sql);
		} finally {
			JdbcUtil.closeStat(st);
			JdbcUtil.closeConn(conn);
		}
		return updateResult;
	}
	
	
	public List getLoginInfo(int moduleType) throws SQLException {
    	
    	String sql ="select seq_id,module_type,user_name,password,ip,port,send_flux,rece_flux,status,conn_time,"
    		+ "dis_conn_time,description,center_id,loggin_type from  login_info"
    		+ " where module_Type=" + moduleType;
  
    	
    	
   //	System.out.println("sql:"+sql);
    	
    	Connection conn = null;
        ResultSet rs = null;
        Statement st =null;
        LinkedList list = null;
        
        try{
        	conn = DBPool.getConnection();
			st = conn.createStatement();
            rs = st.executeQuery(sql.toString());
            if (rs.next()) {
            	list = new LinkedList();
                list.add(maping(rs));
            }
            while (rs.next()) {
            	list.add(maping(rs));
            }
          
        } catch (SQLException sqle) {
            System.err.println(sqle);
            return null;
        } finally {
            JdbcUtil.closeResultSet(rs);
            JdbcUtil.closeStat(st);
            JdbcUtil.closeConn(conn);
        }
        return list;
      
    }
	
	public boolean getLocInfoMgr(String UserId, String Password, int OrgSystemID) throws SQLException {
    	
   //判断位置信息管理模块,登录是否正确
	//。。。。。以后补充
        return true;
      
    }

	/**
     * 匹配数据记录中的登录信息,返回登录信息类对象
    */
    
	private LoginInfo maping(ResultSet rs){
		LoginInfo loginInfo=null;
		try{
			loginInfo = new LoginInfo();
			loginInfo.setSeqId(rs.getInt("seq_id"));
			loginInfo.setModuleType(rs.getInt("module_type"));
			loginInfo.setUserName(rs.getString("user_name"));
			loginInfo.setPassword(rs.getString("password"));
			loginInfo.setIp(rs.getString("ip"));
			loginInfo.setPort(rs.getInt("port"));
			loginInfo.setSendFlux(rs.getInt("send_flux"));
			loginInfo.setReceFlux(rs.getInt("rece_flux"));
			loginInfo.setStatus(rs.getInt("status"));
			loginInfo.setConnTime(rs.getString("conn_time"));
			loginInfo.setDisConnTime(rs.getString("dis_conn_time"));
			loginInfo.setDescription(rs.getString("description"));
			loginInfo.setCenterId(rs.getInt("center_id"));
			loginInfo.setLoginType(rs.getInt("loggin_type"));
			
		}catch(SQLException e){
			e.printStackTrace();
		}
		
	    return loginInfo;
	}
	
	
	/**
	 * 测试用
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		LoginInfoDao dao = new LoginInfoDao();
		
		System.out.println(dao.updateDisConn(0,45));
		
		//System.out.println(dao.updateDisConn(0,45));
		//DBPool.destroyPool();//数库库连接资源关闭
	}
}

⌨️ 快捷键说明

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