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