commentmgr.java
来自「一个用java编写的功能强大的OA系统」· Java 代码 · 共 148 行
JAVA
148 行
package cn.js.fan.module.cms;import java.util.Vector;import org.apache.log4j.Logger;import java.util.Iterator;import cn.js.fan.web.Global;import cn.js.fan.db.ResultIterator;import cn.js.fan.db.RMConn;import cn.js.fan.db.ResultRecord;import javax.servlet.http.HttpServletRequest;import cn.js.fan.util.ErrMsgException;import java.sql.ResultSet;import cn.js.fan.db.Conn;import cn.js.fan.cache.jcs.*;import cn.js.fan.base.IPrivilege;public class CommentMgr { String connname = ""; String cachePrix = "cmt"; String cachePrixList = "cmt_list"; RMCache rmCache; Logger logger = Logger.getLogger(CommentMgr.class.getName()); public CommentMgr() { rmCache = RMCache.getInstance(); connname = Global.defaultDB; if (connname.equals("")) logger.info("CommentMgr:默认数据库名为空!"); } public Iterator getList(int doc_id) { Vector list = (Vector) rmCache.get(this. cachePrixList + doc_id); Iterator listids = null; if (list!=null) listids = list.iterator(); if (listids == null) { String sql = "select id from cms_comment where doc_id=" + doc_id + " order by add_date"; Conn conn = new Conn(connname); ResultSet rs = null; try { rs = conn.executeQuery(sql); if (rs!=null) { Vector v = new Vector(); while (rs.next()) { int id = rs.getInt(1); v.addElement("" + id); } rmCache.put(cachePrixList + doc_id, v); listids = v.iterator(); } } catch (Exception e) { logger.error(e.getMessage()); } finally { if (conn!=null) { conn.close(); conn = null; } } } Vector v = new Vector(); while (listids.hasNext()) { String id = (String) listids.next(); int intid = Integer.parseInt(id); v.addElement(getComment(intid)); } return v.iterator(); } public Comment getComment(int id) { Comment cmt = (Comment) rmCache.get(cachePrix + id); if (cmt == null) { cmt = new Comment(id); try { rmCache.put(cachePrix + id, cmt); } catch (Exception e) { logger.error("getComment:" + e.getMessage()); } return cmt; } else { cmt.renew(); return cmt; } } public boolean insert(HttpServletRequest request) throws ErrMsgException { CommentCheck cc = new CommentCheck(); cc.checkInsert(request); Comment cmt = new Comment(); boolean re = cmt.insert(cc.getDocId(), cc.getNick(), cc.getLink(), cc.getContent(), cc.getIp()); if (re) { try { rmCache.remove(this.cachePrixList + cc.getDocId()); } catch (Exception e) { logger.error(e.getMessage()); } } return re; } public boolean del(HttpServletRequest request, IPrivilege privilege) throws ErrMsgException { CommentCheck cc = new CommentCheck(); cc.checkDel(request); Comment cmt = getComment(cc.getId()); boolean re = cmt.del(cc.getId()); if (re) { try { rmCache.remove(cachePrixList + cmt.getDocId()); rmCache.remove(cachePrix + cc.getId()); } catch (Exception e) { logger.error(e.getMessage()); } } return re; } public void delAll(HttpServletRequest request, IPrivilege privilege) throws ErrMsgException { CommentCheck cc = new CommentCheck(); cc.init(); cc.chkDocId(request); cc.report(); Iterator ir = getList(cc.getDocId()); Comment cmt = null; try { while (ir.hasNext()) { cmt = (Comment) ir.next(); cmt.del(cmt.getId()); rmCache.remove(this.cachePrix + cc.getId()); } rmCache.remove(this.cachePrixList + cc.getDocId()); } catch (Exception e) { logger.error(e.getMessage()); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?