package com.linesee.proc;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import org.apache.log4j.Logger;
import com.linesee.data.IntParam;
import com.linesee.data.LongParam;
import com.linesee.data.Param;
import com.linesee.data.ParamUtils;
import com.linesee.data.StringParam;
import com.linesee.dto.ContentInfo;
import com.linesee.dto.SysConst;
import com.linesee.dto.SysVar;
import com.linesee.utils.DbBase;
import com.linesee.utils.PStr;
import com.linesee.utils.Pagination;
/**
* 文章相关操作
* @author 火星
*
*/
public class ContentProc {
private static final Logger log = Logger.getLogger(ContentProc.class);
/**
* 添加文章
* @param ci
* @return 返回添加的管理员ID
*/
public long addContent(ContentInfo ci){
final String sql="insert into content (colId,title,shorttitle,content,summary,imgUrl,keyword,userId,src,adddate) values (?,?,?,?,?,?,?,?,?,now())";
log.info("ContentProc.addContent begintrans at :"
+ System.currentTimeMillis());
boolean result = false;
DbBase db=new DbBase();
long id=0;
try {
db.beginTrans();
result = db.update(sql,new LongParam(ci.getColId()),new StringParam(ci.getTitle()),new StringParam(ci.getShortTitle()),new StringParam(ci.getContent()),new StringParam(ci.getSummary()),new StringParam(ci.getImgUrl()),new StringParam(ci.getKeyword()),new IntParam(ci.getUserId()),new StringParam(ci.getSrc()));
id=(int)db.getLastInsertId();
//如果添加内容的栏目是单篇文章 的,则设置栏目的转向页地址
if (SysVar.ColumnMaps.get(String.valueOf(ci.getColId())).getColType()==1){
String url="content_"+id+".html";
db.update("update columninfo set outUrl=? where colId=?",new StringParam(url),new IntParam(ci.getColId()));
}
db.commit();
} catch (SQLException e) {
e.printStackTrace();
db.rollBack();
log.error("ContentProc.addContent error : " + e.getMessage());
} finally {
db.release();
log.info("ContentProc.addContent end trans at :"
+ System.currentTimeMillis());
}
return id;
}
/**
* 修改文章,传入对象ID不能为空
* @param ci
* @return
*/
public boolean editContent(ContentInfo ci){
final String sql="update content set colId=?,title=?,shorttitle=?,content=?,summary=?,imgUrl=?,src=?,keyword=? where contentId=?";
log.info("ContentProc.editContent begintrans at :" + System.currentTimeMillis());
boolean b=true;
DbBase db=new DbBase();
try{
db.beginTrans();
b=db.update(sql,new IntParam(ci.getColId()),new StringParam(ci.getTitle()),new StringParam(ci.getShortTitle()),new StringParam(ci.getContent()),new StringParam(ci.getSummary()),new StringParam(ci.getImgUrl()),new StringParam(ci.getSrc()),new StringParam(ci.getKeyword()),new LongParam(ci.getContentId()));
db.commit();
} catch(SQLException e){
db.rollBack();
log.error("ContentProc.editContent error : "+e.getMessage());
} finally{
db.release();
log.info("ContentProc.editContent end trans at :" + System.currentTimeMillis());
}
return b;
}
/**
* 屏蔽或恢复文章
* @param ids
* @return
*/
public boolean setContentStat(long[] ids,short v){
final String sql="update content set isdel=? where contentId in ("+ParamUtils.qMark(ids)+")";
log.info("ContentProc.setContentStat begintrans at :" + System.currentTimeMillis());
boolean b=true;
DbBase db=new DbBase();
try{
db.beginTrans();
Param p=new Param();
p.add(new IntParam(v));
p.add(ParamUtils.toLongParam(ids));
b=db.update(sql,p.getParam());
db.commit();
} catch(SQLException e){
db.rollBack();
log.error("ContentProc.setContentStat error : "+e.getMessage());
} finally{
db.release();
log.info("ContentProc.setContentStat end trans at :" + System.currentTimeMillis());
}
return b;
}
/**
* 增加点击数
* @param id
* @return
*/
public boolean addHits(long id){
final String sql = "update content set hits=hits+1 where contentId=?";
log.info("ContentProc.addHits begintrans at :"
+ System.currentTimeMillis());
boolean result = true;
DbBase db=new DbBase();
try {
db.beginTrans();
result = db.update(sql,new LongParam(id));
db.commit();
} catch (SQLException e) {
db.rollBack();
log.error("ContentProc.addHits error : " + e.getMessage());
} finally {
db.release();
log.info("ContentProc.addHits end trans at :"
+ System.currentTimeMillis());
}
return result;
}
/**
* 增加评论数
* @param id
* @return
*/
public boolean addCmtCount(long id){
final String sql = "update content set cmtcount=cmtcount+1 where contentId=?";
log.info("ContentProc.addCmtCount begintrans at :"
+ System.currentTimeMillis());
boolean result = true;
DbBase db=new DbBase();
try {
db.beginTrans();
result = db.update(sql,new LongParam(id));
db.commit();
} catch (SQLException e) {
db.rollBack();
log.error("ContentProc.addCmtCount error : " + e.getMessage());
} finally {
db.release();
log.info("ContentProc.addCmtCount end trans at :"
+ System.currentTimeMillis());
}
return result;
}
/**
* 读取指定文章信息
* @param id
* @return
*/
public ContentInfo getContent(long id){
final String sql="select colId,title,shorttitle,content,summary,imgUrl,userId,src,adddate,keyword from content where isdel=0 and contentId=?";
if (log.isDebugEnabled()){
log.info("ContentProc.getContent begintrans at :"+System.currentTimeMillis());
}
DbBase db=new DbBase();
ContentInfo item=new ContentInfo();
ResultSet rs=null;
try{
rs=db.query(sql,new LongParam(id));
if (rs.next()){
int i=1;
item.setContentId(id);
item.setColId(rs.getInt(i++));
item.setTitle(rs.getString(i++));
item.setShortTitle(rs.getString(i++));
item.setContent(rs.getString(i++));
item.setSummary(rs.getString(i++));
item.setImgUrl(rs.getString(i++));
item.setUserId(rs.getInt(i++));
item.setSrc(rs.getString(i++));
item.setAdddate(PStr.toTimestamp(rs.getDate(i++)));
item.setKeyword(rs.getString(i++));
}
rs.close();
} catch(SQLException e){
log.error("ContentProc.getContent error:"+e.getMessage()+" at :"+System.currentTimeMillis());
} finally{
rs=null;
db.release();
}
if (log.isDebugEnabled()){
log.info("ContentProc.getContent end at :"+System.currentTimeMillis());
}
return item;
}
//挨着的上下两篇文章
public ContentInfo getContentNearly(long id,int order,boolean isNext){
String sql;
StringBuffer sqlb=new StringBuffer();
if (isNext){
sqlb.append("select contentId,colId,title,shorttitle,content,summary,imgUrl,userId,src,adddate from content where isdel=0 and contentId>? order by ");
switch(order){
case SysConst.ORDERBY_DATE:
sqlb.append(" adddate asc ");
break;
case SysConst.ORDERBY_HITS:
sqlb.append(" hits asc ");
break;
case SysConst.ORDERBY_CMTCOUNT:
sqlb.append(" cmtcount asc ");
break;
}
sqlb.append(" limit 1");
} else {
sqlb.append("select contentId,colId,title,shorttitle,content,summary,imgUrl,userId,src,adddate from content where isdel=0 and contentId<? order by ");
switch(order){
case SysConst.ORDERBY_DATE:
sqlb.append(" adddate desc ");
break;
case SysConst.ORDERBY_HITS:
sqlb.append(" hits desc ");
break;
case SysConst.ORDERBY_CMTCOUNT:
sqlb.append(" cmtcount desc ");
break;
}
sqlb.append(" limit 1");
}
sql=sqlb.toString();
sqlb.delete(0,sqlb.capacity());
if (log.isDebugEnabled()){
log.info("ContentProc.getContentNearly begintrans at :"+System.currentTimeMillis());
}
//List<ContentInfo> items=new LinkedList<ContentInfo>();
ContentInfo item=new ContentInfo();
ResultSet rs=null;
DbBase
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
蓝息新闻发布系统JSP源码下载 (257个子文件)
ContentProc.class 23KB
PStr.class 15KB
ParamUtils.class 15KB
ColumnProc.class 12KB
TopicProc.class 11KB
ManagerProc.class 10KB
CommentProc.class 9KB
SiteProc.class 7KB
DbBase.class 7KB
LinkProc.class 6KB
HtmlFormater.class 5KB
ServerInit.class 5KB
ContentAction.class 5KB
HtmlFormater$LimitWidthModifier.class 4KB
ManagerAction.class 4KB
ColumnAction.class 4KB
Base64.class 4KB
UrlRewriteFilter.class 3KB
Pagination.class 3KB
UploadFileAction.class 3KB
ColumnInfo.class 3KB
CommentAction.class 3KB
ContentInfo.class 3KB
ManagerLoginAction.class 3KB
FileOpt.class 3KB
TopicColumnAction.class 3KB
LinkAction.class 3KB
HtmlFormater$CustomizedVisitor.class 3KB
SiteAction.class 3KB
CookieOpt.class 3KB
TopicAction.class 3KB
ManagerInfo.class 2KB
LinkInfo.class 2KB
EncodingFilter.class 2KB
SiteInfo.class 2KB
CommentInfo.class 2KB
ManagerLoginFilter.class 2KB
DataBase.class 2KB
RequestUtils.class 2KB
AllowPageFilter.class 2KB
ImageProcess.class 2KB
Encrypt.class 1KB
HtmlFormater$LimitAttrValueModifier.class 1KB
TopicColumnInfo.class 1KB
HtmlFormater$AModifier.class 1KB
Param.class 1KB
TopicInfo.class 1KB
HtmlFormater$RemoveWidthModifier.class 998B
SysVar.class 946B
SysConst.class 939B
StringParam.class 736B
TypedParam.class 713B
LongParam.class 677B
IntParam.class 669B
HtmlFormater$BaseModifier.class 560B
TopicColumnProc.class 543B
.classpath 2KB
org.eclipse.wst.common.component 551B
css.css 28KB
edt.css 14KB
home.css 11KB
main.css 6KB
style.css 1KB
newtoolbar.gif 11KB
logo.gif 4KB
sendimg.gif 2KB
m_bg.gif 1KB
swf.gif 1KB
swf.gif 1KB
wmv.gif 1KB
wmv.gif 1KB
gif.gif 895B
gif.gif 895B
hr.gif 855B
hr.gif 855B
spacer.gif 807B
spacer.gif 807B
adm_yellow.gif 678B
rm.gif 573B
rm.gif 573B
file.gif 363B
file.gif 363B
image.gif 235B
image.gif 235B
blue_foot.gif 213B
blue_top.gif 199B
fgcolor.gif 180B
fgcolor.gif 180B
paste.gif 144B
paste.gif 144B
blue_right.gif 124B
blue_left.gif 124B
copy.gif 115B
copy.gif 115B
blue_bg.gif 104B
link.gif 102B
link.gif 102B
cut.gif 99B
cut.gif 99B
deindent.gif 93B
共 257 条
- 1
- 2
- 3
hengxin54
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页