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

📄 clubonlineimpl.java

📁 特色: 1.今晚在线社区独有的双风格分桢形式 2.社区最多可进行3级分类
💻 JAVA
字号:
/* 
 * Created on 2005-12-1
 * Last modified on 2006-1-24
 * Powered by GamVan.com
 */
package com.gamvan.club.dao.impl;

import java.util.Iterator;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.gamvan.club.dao.ClubOnlineDAO;
import com.gamvan.club.item.ClubOnlineItem;
import com.gamvan.conn.ConnClub;

/**
 * @author GamVan by 我容易么我
 * Powered by GamVan.com
 */
public class ClubOnlineImpl implements ClubOnlineDAO{

	/**
	 * 加入到在线名单
	 * @param sessionid
	 * @param userip
	 * @param userid
	 * @param username
	 * @param userhide
	 * @param logintime
	 * @param lasttime
	 * @param lastymdhms 年月日时分秒组成的数字
	 * @param userarea
	 * @return
	 * 2005-12-1 20:49:31 Made In GamVan
	 * @see com.gamvan.club.dao.ClubOnlineDAO#onlineAdd(java.lang.String
	 * 		, java.lang.String, int, java.lang.String, boolean
	 * 		, java.lang.String, java.lang.String, int, java.lang.String)
	 */
	public ClubOnlineItem onlineAdd(String sessionid, String userip
			, int userid, String username
			, boolean userhide, String logintime
			, String lasttime, long lastymdhms, String userarea) 
	{
        Session session = ConnClub.getSession();
        Transaction tran = session.beginTransaction();
        ClubOnlineItem coli = null;
        try{
            coli = new ClubOnlineItem();
            coli.setSessionID(sessionid);
            coli.setUserip(userip);
            coli.setOnUserID(userid);
            coli.setUserName(username);
            coli.setUserHide(userhide);
            coli.setLastTime(logintime);
            coli.setLoginTime(lasttime);
            coli.setLastYMDHMS(lastymdhms);
            coli.setUserArea(userarea);
            session.save(coli) ;
            tran.commit();
        }catch(HibernateException e){

        }
		return coli;
	}

	/**
	 * 更新在线人员信息
	 * @param type 更新条件 1按照ip更新、2按照sessionid更新
	 * @param sessionid
	 * @param userid
	 * @param username
	 * @param lasttime
	 * @param lastymdhms 年月日时分秒组成的数字
	 * @param userarea
	 * 2005-12-1 21:31:41 Made In GamVan
	 * @see com.gamvan.club.dao.ClubOnlineDAO#onlineUpdate(int, java.lang.String
	 * 			, int, java.lang.String, java.lang.String, int, java.lang.String)
	 */
	public void onlineUpdate(int type, String sessionid, String userip
			, int userid, String username
			, String lasttime, long lastymdhms
			, String userarea) 
	{
		Session session = ConnClub.getSession();
		Transaction tran = session.beginTransaction();
        StringBuffer hql = new StringBuffer();
        try{
        	hql.append("update ClubOnlineItem set ");
        	hql.append(" onUserID=");
        	hql.append(userid);
        	hql.append(", userName=?");
        	hql.append(", lastTime=?");
        	hql.append(", lastYMDHMS=?");
        	hql.append(", userArea=?");
        	if(type==1){
        		hql.append(" where userip=?");
        	}
        	else if(type==2){
        		hql.append(" where sessionID=?");
        	}
        	Query query = session.createQuery(hql.toString())
        	.setString(0, username)
        	.setString(1, lasttime)
        	.setLong(2, lastymdhms)
        	.setString(3, userarea);
        	if(type==1){
        		query.setString(4, userip);
        	}
        	else if(type==2){
        		query.setString(4, sessionid);
        	}
        	query.executeUpdate();
        	tran.commit();
        }catch(HibernateException e){
        	e.printStackTrace();
        }
		
	}

	public void onlineDelTimeout(long timeout) {
		Session session = ConnClub.getSession();
		Transaction tran = session.beginTransaction();
        StringBuffer hql = new StringBuffer();
        try{
        	hql.append("delete from ClubOnlineItem where ");
        	hql.append(" lastYMDHMS<");
        	hql.append(timeout);
        	Query query = session.createQuery(hql.toString());
        	query.executeUpdate();
        	tran.commit();
        }catch(HibernateException e){
        	e.printStackTrace();
        }
	}
	
	/**
	 * 
	 * @param page
	 * @param pageNum
	 * @return
	 * 2005-12-1 21:24:36 Made In GamVan
	 * @see com.gamvan.club.dao.ClubOnlineDAO#onlineList(int, int)
	 */
	public List onlineList(int page, int pageNum) {
        /* 计算从第几条记录开始读取数据 */   
        int startRow = pageNum * page - pageNum;
        int endRow  = pageNum;
        List list = null;  
        Session session = ConnClub.getSession();
        String hql = new String();
        try{
            hql = "from ClubOnlineItem order by lastTime desc";
            Query query = session.createQuery(hql);
            query.setFirstResult(startRow);
            query.setMaxResults(endRow);
            list = query.list();
        }catch(HibernateException e){
            e.printStackTrace();
        }
        return list;
	}
	
	/**
	 * 统计在线人数
	 * @return
	 * 2005-12-1 21:26:41 Made In GamVan
	 * @see com.gamvan.club.dao.ClubOnlineDAO#onlineCount()
	 */
	public int onlineCount() {
        /* 计算从第几条记录开始读取数据 */  
		int i = 0;
        Session session = ConnClub.getSession();
        String hql = new String();
        try{
            hql = "select count(*) from ClubOnlineItem";
            Query query = session.createQuery(hql);
            Iterator it = query.iterate();
            Integer results = null;
            while(it.hasNext()){
                results = (Integer) it.next();
                i = results.intValue();
            }
        }catch(HibernateException e){
            e.printStackTrace();
        }
        return i;
	}

	public ClubOnlineItem onlineInfo(String sessionid, String userip, int userid) {
        Session session = ConnClub.getSession();
        StringBuffer hql = new StringBuffer();
        ClubOnlineItem coli = null;
        try{
            hql.append("from ClubOnlineItem where ");
            if(sessionid!=null){
            	hql.append(" sessionID=?");
            }
            else if(userip!=null){
            	hql.append(" userip=?");
            	hql.append(userip);
            }
            else if(userid>0){
            	hql.append(" onUserID=");
            	hql.append(userid);
            }else{
            	return null;
            }
            Query query = session.createQuery(hql.toString());
            if(sessionid!=null){
            	query.setString(0, sessionid);
            }
            query.setMaxResults(1);
            coli = (ClubOnlineItem)query.uniqueResult();
        }catch(HibernateException e){
            e.printStackTrace();
        }
		return coli;
	}

}

⌨️ 快捷键说明

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