?? 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 parent,BBSDoc child)
{
boolean ret=false;
child.setParentId(parent.getCid());
if(!BBSRights.checkRights(parent,"reply",user))
{
ret=child.save();
}
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 + -