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

📄 bbsutil.java

📁 EasyJF信息发布全部源代码!
💻 JAVA
字号:
package com.easyjf.bbs.business;

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

import com.easyjf.dbo.EasyJDB;
import com.easyjf.util.MD5;
import com.easyjf.web.tools.DbPageList;
import com.easyjf.web.tools.IPageList;
/**
 * BBS静态方法
 * @author Administrator
 *
 */
public abstract class BBSUtil {
private static final int uploadImgScore=300;//300分
private static final long randomCodeIntereval=1000*60*60*24*7;//7天
public static boolean canUploadImg(UserInfo user)
{
	boolean ret=false;	
	if(user!=null){ 
		//System.out.println("isEasyJF:"+user.getTypes()+":"+user.checkUserRole("member"));
		if((user.getScore()!=null && user.getScore().intValue()>uploadImgScore)||user.checkUserRole("member"))ret=true;
	}
	return ret;
}
public static boolean noRandomCode(UserInfo user)
{
	boolean ret=false;
	if(user!=null && ((new Date().getTime()-user.getInputTime().getTime())>randomCodeIntereval))ret=true;
	return ret;
}
public static boolean checkLoginScore(UserInfo user)
{
	boolean ret=false;
	Collection paras=new ArrayList();
	paras.add(user.getUserName());
	EasyJDB db=EasyJDB.getInstance();
	java.text.SimpleDateFormat dateFormat=new java.text.SimpleDateFormat("yyyy-MM-dd");	
	Number num=(Number)db.uniqueResult("select count(*) from BBSScore where status>=0 and userName='"+user.getUserName()+"' and types='login' and vdate>='"+dateFormat.format(new Date())+"'");
	if(num.intValue()<5)ret=true;	////通过登录每天最多可以加5分
	return ret;
}
public static boolean regUser(UserInfo obj,ActiveUser user)
{
	boolean ret=false;
	if(BBSRights.checkRights(obj,"reg",user))
	{
		obj.setPassword(MD5.encode(obj.getPassword()));
		obj.setInputTime(new Date());
		obj.setStatus(new Integer(0));	
		obj.setScore(new Integer(0));
		obj.setTitle("普通会员");
		obj.setTypes("");
		obj.setDuty("无");
		ret=obj.save();		
		//注册成功,若有推荐人,则给推荐人加分
		if(ret && (obj.getIntroducer()!=null) && (!obj.getIntroducer().equals("")))
		{
			BBSScore.addScore(obj.getIntroducer(),Score.get("introUser"),obj.getUserName()+":介绍用户加分!");
		}
	}
	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 List getNewTopic(int num)
{
	EasyJDB db=EasyJDB.getInstance();
	return db.query(BBSDoc.class,"status>=0  and  (parentId is null or (parentId='')) order by inputTime 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((doc.getParentId()!=null && (!doc.getParentId().equals("")))|| 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.setScore(new Integer(0));
	doc.setBad(new Integer(0));
	doc.setGood(new Integer(0));
	doc.setStatus(new Integer(0));
	doc.setTopMessage(new Integer(0));
	doc.setEliteMessage(new Integer(0));
	doc.setModifyTime(doc.getInputTime());
	doc.setLastUpdateTime(doc.getInputTime());
	doc.setDirPath(dir.getDirPath());
	if(doc.getVrtype()==null || doc.getVrtype().equals(""))
	{
		doc.setVrtype(dir.getVrtype());
		doc.setVrvalue(dir.getVrvalue());
	}
	ret=doc.save();
	}
	dir.setReplyNum(new Integer(dir.replyNum().intValue()));
	dir.setMessageNum(new Integer(dir.messageNum().intValue()));
	dir.update();
	}
	if(ret)
	{
	BBSScore.addScore(user.getUserName(),Score.get("pm"),user.getUserName()+":"+doc.getTitle()+":发帖加分!");
	}
	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()));//执行过滤
		obj.setModifyTime(new Date());
		obj.setLastUpdateTime(new Date());
		obj.setLastUpdateUser(user.getUserName());
		ret=obj.update();
	}
	return ret;	
}
public static BBSDoc readMessage(ActiveUser user,String cid)
{
	BBSDoc doc=BBSDoc.read(cid);
	if(doc.getVrtype()!=null)
	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());	
	if(parent==null)return false;
	//if(BBSRights.checkRights(parent,"reply",user))
	//{	
		parent.setModifyTime(new Date());
		if(user.getUserName().equals("guest"))
		{
			parent.setLastUpdateUser("匿名");
			user.setUserName(user.getIp());
		}
		else
		parent.setLastUpdateUser(user.getUserName());
		parent.setLastUpdateTime(parent.getModifyTime());
		parent.setReplyNum(new Integer(parent.getReplyNum().intValue()+1));		
		parent.update();	
		ret=publishMessage(user,doc);		
	//}
	if(ret)
	{
		BBSScore.addScore(user.getUserName(),Score.get("rm"),user.getUserName()+":"+parent.getCid()+":回复加分!");
	}
	return ret;
}
public static ActiveUser login(String userName,String password,String ip)
{
	ActiveUser user=null;
	UserInfo u=UserInfo.readByUserName(userName);
	if(u!=null && MD5.encode(password).equals(u.getPassword().trim()))
	{
		user=new ActiveUser();		
		user.setUserName(u.getUserName().trim());		
		user.setIp(ip);
		user.setCurPosition("当前位置:");
		user.setPassword(password);
		user.setLoginTime(new Date());		
		u.setLastLoginTime(new Date());
		u.setLastLoginIP(ip);
		u.setLoginTimes( new Integer(u.getLoginTimes()==null?1:u.getLoginTimes().intValue()+1));
		u.update();		
		if(checkLoginScore(u))
		{
			BBSScore.addScore(u.getUserName(),Score.get("login"),new Date()+":用户登录加分!");
		}
	}	
	return user;
}
public static List listDir()
{
	return BBSDir.query("status>=0 and (parentSn is null or parentSn='') order by sequence");
}

public static IPageList queryMessage(String scope,int pageSize,int pageNo)	
{	
	return queryMessage(scope,null,pageSize,pageNo);
}
public static IPageList queryMessage(String scope,Collection paras,int pageSize,int pageNo)	
{
	String sqlWhere=scope+" and status>=0 and  (parentId is null or (parentId='')) order by topMessage desc,modifyTime desc";	
	DbPageList pList=new DbPageList(BBSDoc.class,sqlWhere,paras);	
	pList.doList(pageNo,pageSize);
	return pList;
}
public static IPageList queryReply(BBSDoc doc,int pageSize,int pageNo)	
{	
	String sqlWhere="parentId='"+doc.getCid()+"' and status>=0 order by inputTime";
	DbPageList pList=new DbPageList(BBSDoc.class,sqlWhere,null);	
	pList.doList(pageNo,pageSize);
	return pList;
}
public static IPageList queryUser(String scope,int pageSize,int pageNo)	
{		
	DbPageList pList=new DbPageList(UserInfo.class,scope,null);	
	pList.doList(pageNo,pageSize);
	return pList;
	}

}

⌨️ 快捷键说明

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