📄 debatemsgaction.java
字号:
package com.redmoon.forum.plugin.debate;import javax.servlet.http.HttpServletRequest;import cn.js.fan.util.ErrMsgException;import javax.servlet.ServletContext;import com.redmoon.forum.plugin.base.IPluginMsgAction;import org.apache.log4j.Logger;import com.redmoon.forum.MsgDb;import cn.js.fan.util.ParamUtil;import cn.js.fan.util.StrUtil;import cn.js.fan.util.ResKeyException;import com.redmoon.kit.util.FileUpload;import com.redmoon.forum.MsgMgr;import cn.js.fan.util.DateUtil;public class DebateMsgAction implements IPluginMsgAction { Logger logger = Logger.getLogger(this.getClass().getName()); public DebateMsgAction() { } public synchronized boolean editTopic(ServletContext application, HttpServletRequest request, MsgDb md, FileUpload fu) throws ErrMsgException { if (md.isRootMsg()) { String strBeginDate = fu.getFieldValue("debateBeginDate"); java.util.Date beginDate = DateUtil.parse(strBeginDate, "yyyy-MM-dd"); String strEndDate = fu.getFieldValue("debateEndDate"); java.util.Date endDate = DateUtil.parse(strEndDate, "yyyy-MM-dd"); String viewpoint1 = fu.getFieldValue("viewpoint1"); String viewpoint2 = fu.getFieldValue("viewpoint2"); DebateDb atd = new DebateDb(); atd = atd.getDebateDb(md.getId()); atd.setBeginDate(beginDate); atd.setEndDate(endDate); atd.setViewpoint1(viewpoint1); atd.setViewpoint2(viewpoint2); boolean re = false; try { re = atd.save(); } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } return re; } else { String strType = StrUtil.getNullString(fu.getFieldValue( "viewpoint_type")); int type = DebateViewpointDb.TYPE_SUPPORT; if (StrUtil.isNumeric(strType)) { type = Integer.parseInt(strType); } DebateViewpointDb dvd = new DebateViewpointDb(); dvd = dvd.getDebateViewpointDb(md.getId()); int oldType = dvd.getType(); if (oldType!=type) { dvd.setType(type); boolean re = false; try { re = dvd.save(); if (re) { DebateDb dd = new DebateDb(); dd = dd.getDebateDb(md.getRootid()); if (type == DebateViewpointDb.TYPE_SUPPORT) { if (oldType==DebateViewpointDb.TYPE_OPPOSE) { dd.setUserCount2(dd.getUserCount2() - 1); } else dd.setUserCount3(dd.getUserCount3() - 1); dd.setUserCount1(dd.getUserCount1() + 1); } else if (type == DebateViewpointDb.TYPE_OPPOSE) { if (oldType==DebateViewpointDb.TYPE_SUPPORT) { dd.setUserCount1(dd.getUserCount1() - 1); } else dd.setUserCount3(dd.getUserCount3() - 1); dd.setUserCount2(dd.getUserCount2() + 1); } else { if (oldType==DebateViewpointDb.TYPE_SUPPORT) { dd.setUserCount1(dd.getUserCount1() - 1); } else dd.setUserCount2(dd.getUserCount2() + 1); dd.setUserCount3(dd.getUserCount3() + 1); } dd.save(); } } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } return re; } } return true; } public boolean AddNew(ServletContext application, HttpServletRequest request, MsgDb md, FileUpload fu) throws ErrMsgException { String strBeginDate = fu.getFieldValue("debateBeginDate"); java.util.Date beginDate = DateUtil.parse(strBeginDate, "yyyy-MM-dd"); String strEndDate = fu.getFieldValue("debateEndDate"); java.util.Date endDate = DateUtil.parse(strEndDate, "yyyy-MM-dd"); String viewpoint1 = fu.getFieldValue("viewpoint1"); String viewpoint2 = fu.getFieldValue("viewpoint2"); DebateDb atd = new DebateDb(); atd.setMsgId(md.getId()); atd.setBeginDate(beginDate); atd.setEndDate(endDate); atd.setViewpoint1(viewpoint1); atd.setViewpoint2(viewpoint2); boolean re = false; try { re = atd.create(); } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } return re; } public boolean AddQuickReply(ServletContext application, HttpServletRequest request, long replyMsgId) throws ErrMsgException { String strType = ParamUtil.get(request, "viewpoint_type"); int type = DebateViewpointDb.TYPE_SUPPORT; if (StrUtil.isNumeric(strType)) { type = Integer.parseInt(strType); } MsgDb md = new MsgDb(); md = md.getMsgDb(replyMsgId); DebateViewpointDb dvd = new DebateViewpointDb(); dvd.setType(type); dvd.setMsgId(md.getId()); boolean re = false; try { re = dvd.create(); if (re) { DebateDb dd = new DebateDb(); dd = dd.getDebateDb(md.getRootid()); if (type==DebateViewpointDb.TYPE_SUPPORT) { dd.setUserCount1(dd.getUserCount1() + 1); } else if (type==DebateViewpointDb.TYPE_OPPOSE) { dd.setUserCount2(dd.getUserCount2() + 1); } else dd.setUserCount3(dd.getUserCount3() + 1); dd.save(); } } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } return re; } public boolean delTopic(ServletContext application, HttpServletRequest request, MsgDb md) throws ErrMsgException { boolean re = false; if (md.isRootMsg()) { DebateDb rd = new DebateDb(); rd = rd.getDebateDb(md.getId()); re = rd.del(); } else { DebateViewpointDb dvd = new DebateViewpointDb(); dvd = dvd.getDebateViewpointDb(md.getId()); re = dvd.del(); } return re; } public boolean delSingleMsg(long delId) throws ResKeyException { MsgDb md = new MsgDb(); md = md.getMsgDb(delId); if (md.isRootMsg()) { DebateDb rd = new DebateDb(); rd = rd.getDebateDb(delId); if (rd.isLoaded()) return rd.del(); else return false; } else { DebateViewpointDb dvd = new DebateViewpointDb(); dvd = dvd.getDebateViewpointDb(delId); return dvd.del(); } } public boolean AddReply(ServletContext application, HttpServletRequest request, MsgDb md, FileUpload fu) throws ErrMsgException { String strType = StrUtil.getNullString(fu.getFieldValue("viewpoint_type")); int type = DebateViewpointDb.TYPE_SUPPORT; if (StrUtil.isNumeric(strType)) { type = Integer.parseInt(strType); } DebateViewpointDb dvd = new DebateViewpointDb(); dvd.setType(type); dvd.setMsgId(md.getId()); boolean re = false; try { re = dvd.create(); if (re) { DebateDb dd = new DebateDb(); dd = dd.getDebateDb(md.getRootid()); if (type==DebateViewpointDb.TYPE_SUPPORT) { dd.setUserCount1(dd.getUserCount1() + 1); } else if (type==DebateViewpointDb.TYPE_OPPOSE) { dd.setUserCount2(dd.getUserCount2() + 1); } else dd.setUserCount3(dd.getUserCount3() + 1); dd.save(); } } catch (ResKeyException e) { throw new ErrMsgException(e.getMessage(request)); } return re; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -