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

📄 usermanager.java

📁 淘客在线客服管理系统(TaokeOCS V3.2)
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			Log.log("Class:UserManager method: getVisit() error:"+e.getMessage()+" sql:"+sql);
			return "";
		}	
		return visit;
	}	
	/**
	  *获取客户端的名称name
     *调用者: UserManager.java的findMyTalkers()
	  *@param id 客户端的id
	  *@return String 客户端的名称
	  */	
  
	public String getName(String id){
		String name=null;
		try{
			sql="select name from user where id=\""+id+"\"";
			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			rs=db.getResult();
			if(rs!=null && rs.next()){				
				name=rs.getString("name");
			}				 	
 			if(db.getConnection()!=null && !db.isClosed())
					db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: getName() error:"+e.getMessage()+" sql:"+sql);
			return "";
		}	
		return name;
	}
 
	/**
	  *根据客户端id获取站点名称name
	  *调用者:
	  *@param id 客户端id
	  *@return String 站点名称
	  */	 
	public String getSiteName(String id){
		String name=null;
		try{
			String domainId=getUserDomainId(id);
			int index=domainId.indexOf(",");
			if(index>0)
				domainId=domainId.substring(0,index);
			sql="select companyName  from site where domainId=\""+domainId+"\"";
			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			rs=db.getResult();
			if(rs!=null && rs.next()){				
				name=rs.getString("companyName");
			}				 	
 			if(db.getConnection()!=null && !db.isClosed())
					db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: getSiteName() error:"+e.getMessage()+" sql:"+sql);
			return "";
		}	
		return name;
	}									
	/**
	  *更新访问者的的访问次数标记visit
	  *调用者:webTalk.jsp
	  *@param vid 访问者id
	  *@param visit 访问次数标记
	  */	
	public void setVisit(String vid,String visit){
		try{
 			sql="update visitor set visit=\""+visit+"\" where id=\""+vid+"\"";
			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);	
			db.executeUpdate();				 
 			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: setVisit() error:"+e.getMessage()+" sql:"+sql);
		}			
	}		
	/**
	  *以XML方式读取某网站的所有快捷回复语	
	  *调用者:client.jsp
	  *@param url 站点地址
	  *@return String 返回快捷回复语
	  */	 
	public String getShortcut(String url){			 
		String msgToBeSent="<xml><?xml version=\"1.0\" encoding=\"utf-8\"?><ShortCutDefine>";
 		try{
			String theDomain="";
			StringTokenizer st = new StringTokenizer(url,",");	
					while(st.hasMoreTokens())
						theDomain +=",\""+st.nextToken()+"\"";
					theDomain=theDomain.substring(1);	
			sql="select catalog,content from shortcut,site where shortcut.domainId=site.domainId and domain in("+
				theDomain+") group by catalog,content";
 			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			rs=db.getResult();
			String type=null;
			while(rs!=null && rs.next()){			 
				if(type==null ){
					type=rs.getString("catalog");			 
 					msgToBeSent +="<Group name=\""+rs.getString("catalog")+"\">";
				}	
				if(type!=null && !type.equals(rs.getString("catalog")) ){
					type=rs.getString("catalog");			 
 					msgToBeSent +="</Group><Group name=\""+rs.getString("catalog")+"\">";
				}	
				msgToBeSent +="<Shortcut text=\""+ rs.getString("content")+"\"/>";					 		
			}				
 			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: getShortcut() error:"+e.getMessage()+" sql:"+sql);
			return "";
		}	
		 
		msgToBeSent +="</Group></ShortCutDefine></xml>";
		return msgToBeSent;	
	}	
	/**
	  *更新访问者的信息
	  *调用者:msgManager.jsp(标记访问者时调用)
	  *@param vid 访问者id
	  *@param name 访问者名称
	  *@param sex 访问者性别
	  *@param workphone 访问者工作电话
	  *@param mobilephone 访问者移动电话
	  *@param sht 访问者小令通号码
	  *@param email 访问者email
	  *@param qq 访问者qq
	  *@param msn 访问者msn
	  *@param address 访问者地址
	  *@return boolean 返回修改是否成功
	  */
	public boolean updateVisitorInfo(String vid,String name,String sex,String workphone,String mobilephone,String sht,
							  String email,String qq,String msn,String address){
		try{		 
			if(name==null) name="";if(sex==null) sex="";if(workphone==null) workphone="";if(mobilephone==null) mobilephone="";
			if(sht==null) sht="";if(email==null) email="";if(qq==null) qq="";if(msn==null) msn="";if(address==null) address="";	 
 			sql="update visitor set name=\""+name+"\",sex=\""+sex+"\",workphone=\""+workphone+"\",mobilephone=\""+
				mobilephone+"\",sht=\""+sht+"\",email=\""+email+"\",qq=\""+qq+"\",msn=\""+msn+"\",address=\""+
				address+"\" where id=\""+vid+"\"";			 
			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);	
			db.executeUpdate();				 
 			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: updateUserInfo() error:"+e.getMessage()+" sql:"+sql);
			return false;
		}	
		return true;
	}
	/**
	  *客户端重新启动后找回中断的交谈者id
	  *调用者:client.jsp
	  *@param vid 客户端id
	  *@return String[] 返回客户端交谈者的id
	  */
	public String[] findMyTalkers(String vid){
		String[] ids=null;
		try{
			sql="select id from visitor where talker=\""+getName(vid)+"\" and state=\"TALKING\"";
			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			rs=db.getResult();
			if(rs!=null && rs.last()){
				ids=new String[rs.getRow()];
				rs.beforeFirst();
			} 
			for(int i=0;ids!=null && i<ids.length&& rs!=null && rs.next();i++){			 
				 ids[i]=rs.getString("id");		 		
			}				
 			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: findMyTalkers() error:"+e.getMessage()+" sql:"+sql);
			return null;
		}	
		return ids;	
	}
	/**
	  *客户端将本站点内的所有超时更新的访问者置为离线(客户端登陆前清理访问者状态)
	 *@param domain 站点域名
	 *@param vid 客户端id
	  */
	public void putLostVisitorToOffline(String domain,String vid){		 
		//////把本站内所有最后更新时间早于当前时间60秒的浏览者置于离线状态
		try{
			 	
			Calendar now= Calendar.getInstance();
			now.setTimeInMillis(now.getTimeInMillis()-60000); 
			//now.roll(Calendar.SECOND,-15);
			String nowStr=String.valueOf(now.get(Calendar.YEAR))+"-"+String.valueOf(now.get(Calendar.MONTH)+1)+"-"+
					  String.valueOf(now.get(Calendar.DAY_OF_MONTH))+" "+String.valueOf(now.get(Calendar.HOUR_OF_DAY))+":"+
					  String.valueOf(now.get(Calendar.MINUTE))+":"+String.valueOf(now.get(Calendar.SECOND));	
			String domainIds=getUserDomainId(vid);	 		
			sql="update visitor set state=\"OFFLINE\" "+
			    "where domainId in("+domainIds+") and "+
			    "state<>\"OFFLINE\" and  lastTime<\""+nowStr+"\"";	
		
 			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			db.executeUpdate();	 
 			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: putLostVisitorToOffline() error:"+e.getMessage()+" sql:"+sql);
		}			 
		
		//////
	}
	/**
	  *将所有在更新最后访问时间超时的访问者和客户端置为离线
	 *调用者:msgManager.jsp(浏览者浮动窗每15秒读取信息时调用 a=3)
   	  */
	public void putLostVisitorAndUserToOffline(){		 
		//////把所有最后更新时间早于当前时间60秒的浏览者和客户端置于离线状态
		try{			 
			Calendar now= Calendar.getInstance();
			now.setTimeInMillis(now.getTimeInMillis()-600000); 
			//now.roll(Calendar.SECOND,-15);
			String nowStr=String.valueOf(now.get(Calendar.YEAR))+"-"+String.valueOf(now.get(Calendar.MONTH)+1)+"-"+
					  String.valueOf(now.get(Calendar.DAY_OF_MONTH))+" "+String.valueOf(now.get(Calendar.HOUR_OF_DAY))+":"+
					  String.valueOf(now.get(Calendar.MINUTE))+":"+String.valueOf(now.get(Calendar.SECOND));		 		
			sql="update user set state=\"OFFLINE\" where state<>\"OFFLINE\" and  lastTime<\""+nowStr+"\"";	
		
 			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			db.executeUpdate();
			sql="update visitor set state=\"OFFLINE\" where state<>\"OFFLINE\" and  lastTime<\""+nowStr+"\"";	
		
 			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			db.executeUpdate();		 
 			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: putLostVisitorAndUserToOffline() error:"+e.getMessage()+" sql:"+sql);
		}			 
		
		//////
	}
	/**
	  *客户端标记未读短信息为已读
	 *调用者:client.jsp
	  *@param vid 客户端id
	  */
	public void markUnreadCommandMessageAsRead(String vid){
		try{				 
 			//把非message的短信全部置为已读
			sql="update message set isRead=\"1\" where type<>\"TALKMSG\" and toId=\""+vid+"\" and isRead=\"0\"";	
			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);	
			db.executeUpdate();				 
 			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: markUnreadCommandMessageAsRead() error:"+e.getMessage()+" sql:"+sql);
		}	
		////////////////////////////////////////////
	}
	/**
	  *客户端登陆时判断是否有该用户
	 *调用者:loginValidation.jsp
	 *@param id 客户端id
	  *@param password 客户端密码
	 *@return boolean 返回是否有该用户
	  */
	public boolean hasUser(String id,String password){
	try{
			sql="select id from user where id=\""+id+"\" and password=\""+password+
				"\" and password<>\"null\" and password<>\"\"";
			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			rs=db.getResult();
			if(rs!=null &&  rs.last() &&  rs.getRow()>0){						 
 				if(db.getConnection()!=null && !db.isClosed())
					db.closeConnection();	
				return true;	
			}
			if(db.getConnection()!=null && !db.isClosed())
					db.closeConnection();
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: hasUser() error:"+e.getMessage()+" sql:"+sql);
			return true;
		}	
		return false;
	
	}
	/**
	  *客户端登陆时判断是否有该超级用户
	 *调用者:loginValidation.jsp
	 *@param username 客户端id
	  *@param password 客户端密码
	 *@return boolean 返回是否有该超级用户
	  */
	public boolean isAdmin(String username,String password){
	try{
			sql="select username from admin where username=\""+username+"\" and password=\""+password+"\"";
			if(db==null) db=new msg.DbConn();if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);
			rs=db.getResult();
			String userType=null;
			if(rs!=null &&  rs.last() && rs.getRow()>0){					 				 
 				if(db.getConnection()!=null && !db.isClosed())
					db.closeConnection();	
				return true;	
			}
			if(db.getConnection()!=null && !db.isClosed())
					db.closeConnection();
		}catch(Exception e){
			closeDbConnection();
			Log.log("Class:UserManager method: isAdmin() error:"+e.getMessage()+" sql:"+sql);
			return false;
		}	

⌨️ 快捷键说明

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