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