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

📄 bbsutil.java

📁 BBS论坛源码BBS论坛源码BBS论坛源码BBS论坛源码BBS论坛源码BBS论坛源码
💻 JAVA
字号:
package com.easyjf.bbs.business;

import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.List;

import com.easyjf.dbo.EasyJDB;
/**
 * BBS静态方法
 * @author Administrator
 *
 */
public abstract class BBSUtil {
public static boolean regUser(UserInfo obj,ActiveUser user)
{
	boolean ret=false;
	if(BBSRights.checkRights(obj,"add",user))
	{
		ret=obj.save();
	}
	return ret;
}
public static List lastRegUser(int num)
{
	EasyJDB db=EasyJDB.getInstance();
	return db.query(UserInfo.class,"status>=0 order by inputTime desc",null,0,num);
}
public static List getHotTopic(int num)
{
	EasyJDB db=EasyJDB.getInstance();
	return db.query(BBSDoc.class,"status>=0  and  (parentId is null or (parentId='')) order by readTimes desc",null,0,num);
}
public static Number getTotalMember()
{
	EasyJDB db=EasyJDB.getInstance();
	Number num=(Number)db.uniqueResult("select count(*) from BBSUser where status>=0");
	return num;
}
public static Number getTotalTopicNum()
{
	EasyJDB db=EasyJDB.getInstance();
	Number num=(Number)db.uniqueResult("select count(*) from BBSDoc where status>=0  and  (parentId is null or (parentId=''))");
	return num;
}
public static Number getTotalMessageNum()
{
	EasyJDB db=EasyJDB.getInstance();
	Number num=(Number)db.uniqueResult("select count(*) from BBSDoc where status>=0 ");
	return num;
}
public static Number getTodayMessageNum()
{
	EasyJDB db=EasyJDB.getInstance();
	java.text.SimpleDateFormat dateFormat=new java.text.SimpleDateFormat("yyyy-MM-dd");
	Number num=(Number)db.uniqueResult("select count(*) from BBSDoc where status>=0 and inputTime>='"+dateFormat.format(new Date())+"'");
	return num;
}
public static Number getYesterdayMessageNum()
{
	EasyJDB db=EasyJDB.getInstance();
	Calendar ca=Calendar.getInstance();
	java.text.SimpleDateFormat dateFormat=new java.text.SimpleDateFormat("yyyy-MM-dd");
	String date1=dateFormat.format(new Date());
	ca.setTime(new Date());
	ca.roll(Calendar.DAY_OF_MONTH,-1);
	String date2=dateFormat.format(ca.getTime());
	Number num=(Number)db.uniqueResult("select count(*) from BBSDoc where status>=0 and (inputTime>='"+date2+"' and inputTime<'"+date1+"')");
	return num;
}

public static boolean topMessage(ActiveUser user,BBSDoc doc)
{
	boolean ret=false;
	if(BBSRights.checkRights(doc,"tagTop",user)){
	if(doc.getTopMessage()!=null && doc.getTopMessage().intValue()>0)
		doc.setTopMessage(new Integer(0));
	else
		doc.setTopMessage(new Integer(1));
	ret=doc.save();
	}	
	return ret;
}
public static boolean eliteMessage(ActiveUser user,BBSDoc doc)
{
	boolean ret=false;
	if(BBSRights.checkRights(doc,"tagElite",user)){
	if(doc.getEliteMessage()!=null && doc.getEliteMessage().intValue()>0)
		doc.setEliteMessage(new Integer(0));
	else
		doc.setEliteMessage(new Integer(1));
	ret=doc.save();
	}	
	return ret;
}
public static boolean lockMessage(ActiveUser user,BBSDoc obj)
{
	boolean ret=false;
	if(BBSRights.checkRights(obj,"lockMessage",user)){
	if(obj.getStatus()!=null && (obj.getStatus().intValue()>0))
			obj.setStatus(new Integer(0));//解锁
	else 
		    obj.setStatus(new Integer(1));//状态为1表示锁定			
	ret=obj.save();
	}	
	return ret;
}
public static boolean publishMessage(ActiveUser user,BBSDoc doc)
{
	BBSDir dir=BBSDir.readBySN(doc.getDirSn());	
	boolean ret=false;
	if(dir!=null)
	{
	if(BBSRights.checkRights(dir,"publish",user))//判断在栏目中的添加权限
	{
	IFilter filter=new ContentFilter();
	doc.setContent((String)filter.doFilter(doc.getContent()));//执行过滤
	doc.setTitle((String)filter.doFilter(doc.getTitle()));//执行过滤
	doc.setInputTime(new Date());
	doc.setInputUser(user.getUserName());
	doc.setIp(user.getIp());
	doc.setStatus(new Integer(0));
	doc.setTopMessage(new Integer(0));
	doc.setEliteMessage(new Integer(0));
	doc.setModifyTime(doc.getInputTime());
	ret=doc.save();
	}
	}
	return ret;
}
public static boolean delMessage(ActiveUser user,BBSDoc obj)
{
	boolean ret=false;
	if(BBSRights.checkRights(obj,"del",user))
	{
		ret=obj.del();
	}
	return ret;
}
public static boolean updateMessage(ActiveUser user,BBSDoc obj)
{
	boolean ret=false;
	if(BBSRights.checkRights(obj,"update",user))
	{
		IFilter filter=new ContentFilter();
		obj.setContent((String)filter.doFilter(obj.getContent()));//执行过滤
		obj.setTitle((String)filter.doFilter(obj.getTitle()));//执行过滤
		ret=obj.save();
	}
	return ret;	
}
public static BBSDoc readMessage(ActiveUser user,String cid)
{
	BBSDoc doc=BBSDoc.read(cid);
	if(!BBSRights.checkRights(doc,"read",user))doc=null;
	return doc;
}
public static boolean replyMessage(ActiveUser user,BBSDoc doc)
{
	boolean ret=false;
	BBSDoc parent=BBSDoc.read(doc.getParentId());
	System.out.println("你级文档:"+(parent==null));
	if(parent==null)return false;
	if(BBSRights.checkRights(parent,"reply",user))
	{
		System.out.println("标题:"+parent.getTitle());
		parent.setModifyTime(new Date());
		parent.update();
		ret=publishMessage(user,doc);
	}
	return ret;
}
public static ActiveUser login(String userName,String password,String ip)
{
	ActiveUser user=null;
	UserInfo u=UserInfo.readByUserName(userName);
	if(u!=null && password.equals(u.getPassword().trim()))
	{
		user=new ActiveUser();		
		user.setUserName(u.getUserName().trim());		
		user.setIp(ip);
		user.setCurPosition("当前位置");
		user.setPassword(u.getPassword().trim());
		user.setLoginTime(new Date());				
		u.setLastLoginIP(ip);
		u.setLoginTimes( new Integer(u.getLoginTimes()==null?1:u.getLoginTimes().intValue()+1));
		u.save();
	}
	
	return user;
}
public static List listDir()
{
	return BBSDir.query("status>=0 order by sequence");
}
public static PageList queryMessage(String scope,int pageSize,int pageNo)	
{	
	return queryMessage(scope,null,pageSize,pageNo);
}
public static PageList queryMessage(String scope,Collection paras,int pageSize,int pageNo)	
{
	PageList pageList=new PageList();
	BBSDoc message=new BBSDoc();
	EasyJDB db=EasyJDB.getInstance();	
	String sqlWhere=scope+" and status>=0 and  (parentId is null or (parentId=''))";
	//System.out.println(sqlWhere);	
	//Object 
	int total=((Number)db.uniqueResult("select count(*) from "+message.getTableName()+" where "+sqlWhere,paras)).intValue();
	if(total>0){
	pageList.setRowCount(total);
	pageList.setPages((total+pageSize-1)/pageSize);//计算总页数
	int intPageNo=(pageNo>pageList.getPages()?pageList.getPages():pageNo);
	if(intPageNo<1)intPageNo=1;	  
	pageList.setCurrentPage(intPageNo);
	 if(pageSize>0){
		 int begin=(intPageNo - 1) * pageSize;
		 pageList.setResult(db.query(BBSDoc.class,sqlWhere+" order by topMessage desc,modifyTime desc",paras,begin,pageSize)); 	
		}
	}
	return pageList;
}
public static PageList queryReply(BBSDoc doc,int pageSize,int pageNo)	
{
	PageList pageList=new PageList();	
	EasyJDB db=EasyJDB.getInstance();	
	String sqlWhere="parentId='"+doc.getCid()+"' and status>=0 ";
	int total=((Number)db.uniqueResult("select count(*) from "+doc.getTableName()+" where "+sqlWhere)).intValue();
	if(total>0){
	pageList.setRowCount(total);
	pageList.setPages((total+pageSize-1)/pageSize);//计算总页数
	int intPageNo=(pageNo>pageList.getPages()?pageList.getPages():pageNo);
	if(intPageNo<1)intPageNo=1;	  
	pageList.setCurrentPage(intPageNo);
	 if(pageSize>0){
		 int begin=(intPageNo - 1) * pageSize;
		 pageList.setResult(db.query(BBSDoc.class,sqlWhere+" order by inputTime asc",null,begin,pageSize)); 	
		}
	}
	return pageList;
}
public static PageList queryUser(String scope,int pageSize,int pageNo)	
{
	PageList pageList=new PageList();
	UserInfo user=new UserInfo();
	EasyJDB db=EasyJDB.getInstance();	
	int total=((Number)db.uniqueResult("select count(*) from "+user.getTableName()+" where "+scope)).intValue();
	if(total>0){
	pageList.setRowCount(total);
	pageList.setPages((total+pageSize-1)/pageSize);//计算总页数
	int intPageNo=(pageNo>pageList.getPages()?pageList.getPages():pageNo);
	if(intPageNo<1)intPageNo=1;	  
	pageList.setCurrentPage(intPageNo);
	 if(pageSize>0){
		 int begin=(intPageNo - 1) * pageSize;
		 pageList.setResult(db.query(UserInfo.class,scope+" order by inputTime desc",null,begin,pageSize)); 	
		}
	}
	return pageList;
}
	/**
	 * @param args
	 */
	public static void main(String[] args) {	
		PageList pageList=queryMessage("1=1",15,13);
		List list=pageList.getResult();
		System.out.println("总页数:"+pageList.getPages());
		System.out.println("总记录:"+pageList.getRowCount());
		System.out.println("当前页的记录:"+list.size());		
		for(int i=0;i<list.size();i++)
		{
			BBSDoc doc=(BBSDoc)list.get(i);
			System.out.println(doc.getTitle());
		}

	}

}

⌨️ 快捷键说明

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