⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 postopt.java

📁 交易撮合系统是一套买卖信息沟通的平台
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.laoer.bbscs.web.action;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.laoer.bbscs.bean.AgreeAgainst;
import com.laoer.bbscs.bean.Forum;
import com.laoer.bbscs.bean.Subscibe;
import com.laoer.bbscs.bean.UserInfo;
import com.laoer.bbscs.comm.BBSCSUtil;
import com.laoer.bbscs.comm.Constant;
import com.laoer.bbscs.comm.OrderObj;
import com.laoer.bbscs.exception.BbscsException;
import com.laoer.bbscs.service.AgreeAgainstService;
import com.laoer.bbscs.service.BoardService;
import com.laoer.bbscs.service.ForumService;
import com.laoer.bbscs.service.SubscibeFactory;
import com.laoer.bbscs.service.SubscibeService;
import com.laoer.bbscs.service.UserService;
import com.laoer.bbscs.service.config.SysConfig;
import com.laoer.bbscs.service.mail.TemplateMail;
import com.laoer.bbscs.web.ajax.AjaxMessagesJson;
import com.laoer.bbscs.web.interceptor.RemoteAddrAware;
import com.laoer.bbscs.web.interceptor.RequestBasePathAware;

public class PostOpt extends BaseBoardAction implements RemoteAddrAware, RequestBasePathAware {

	/**
	 *
	 */
	private static final long serialVersionUID = -3754920382947045652L;

	private String remoteAddr;

	private String basePath;

	private String id;

	private String mainid;

	private ForumService forumService;

	private BoardService boardService;

	private SysConfig sysConfig;

	private UserService userService;

	private AjaxMessagesJson ajaxMessagesJson;

	private AgreeAgainstService agreeAgainstService;

	private SubscibeFactory subscibeFactory;

	private SubscibeService subscibeService;

	private TemplateMail templateMail;

	public void setRemoteAddr(String remoteAddr) {
		this.remoteAddr = remoteAddr;
	}

	public void setBasePath(String basePath) {
		this.basePath = basePath;
	}

	public String getBasePath() {
		return basePath;
	}

	public String getRemoteAddr() {
		return remoteAddr;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public AgreeAgainstService getAgreeAgainstService() {
		return agreeAgainstService;
	}

	public void setAgreeAgainstService(AgreeAgainstService agreeAgainstService) {
		this.agreeAgainstService = agreeAgainstService;
	}

	public AjaxMessagesJson getAjaxMessagesJson() {
		return ajaxMessagesJson;
	}

	public void setAjaxMessagesJson(AjaxMessagesJson ajaxMessagesJson) {
		this.ajaxMessagesJson = ajaxMessagesJson;
	}

	public BoardService getBoardService() {
		return boardService;
	}

	public void setBoardService(BoardService boardService) {
		this.boardService = boardService;
	}

	public ForumService getForumService() {
		return forumService;
	}

	public void setForumService(ForumService forumService) {
		this.forumService = forumService;
	}

	public SubscibeFactory getSubscibeFactory() {
		return subscibeFactory;
	}

	public void setSubscibeFactory(SubscibeFactory subscibeFactory) {
		this.subscibeFactory = subscibeFactory;
	}

	public SubscibeService getSubscibeService() {
		return subscibeService;
	}

	public void setSubscibeService(SubscibeService subscibeService) {
		this.subscibeService = subscibeService;
	}

	public SysConfig getSysConfig() {
		return sysConfig;
	}

	public void setSysConfig(SysConfig sysConfig) {
		this.sysConfig = sysConfig;
	}

	public UserService getUserService() {
		return userService;
	}

	public void setUserService(UserService userService) {
		this.userService = userService;
	}

	public TemplateMail getTemplateMail() {
		return templateMail;
	}

	public void setTemplateMail(TemplateMail templateMail) {
		this.templateMail = templateMail;
	}

	public String getMainid() {
		return mainid;
	}

	public void setMainid(String mainid) {
		this.mainid = mainid;
	}

	public String votyes() {
		return this.vote(true);
	}

	public String votno() {
		return this.vote(false);
	}

	private String vote(boolean yesno) {
		Forum f = this.getForumService().findForumByID(this.getId(), this.getBid());
		if (f == null) {
			this.getAjaxMessagesJson().setMessage("E_POST_NOT_EXIST", this.getText("error.post.getpost"));
			return RESULT_AJAXJSON;
		}
		if (this.getSysConfig().getPostVoteRec() == 0) { // 不记录投票结果
			if (yesno) {
				f.setAgree(f.getAgree() + 1);
			} else {
				f.setBeAgainst(f.getBeAgainst() + 1);
			}
			try {
				f = this.getForumService().saveOrUpdateForum(f);
				if (yesno) {
					this.getAjaxMessagesJson().setMessage("0", this.getText("post.agreeagainst.ok"),
							String.valueOf(f.getAgree()));
				} else {
					this.getAjaxMessagesJson().setMessage("0", this.getText("post.agreeagainst.ok"),
							String.valueOf(f.getBeAgainst()));
				}
			} catch (BbscsException ex) {
				this.getAjaxMessagesJson().setMessage("E_POST_AGREEAGAINST_ERROR",
						this.getText("error.post.agreeagainst.error"));
			}
		} else {
			AgreeAgainst agreeAgainst = this.getAgreeAgainstService().findAgreeAgainstByUidPidBid(
					this.getUserSession().getId(), this.getId(), this.getBid());
			if (agreeAgainst == null) {
				if (yesno) {
					f.setAgree(f.getAgree() + 1);
				} else {
					f.setBeAgainst(f.getBeAgainst() + 1);
				}
				try {
					f = this.getForumService().saveOrUpdateForum(f);
					agreeAgainst = new AgreeAgainst();
					agreeAgainst.setBoardID(f.getBoardID());
					agreeAgainst.setCreateTime(System.currentTimeMillis());
					agreeAgainst.setPostID(f.getId());
					agreeAgainst.setUserID(this.getUserSession().getId());
					if (yesno) {
						agreeAgainst.setVoteType(0);
					} else {
						agreeAgainst.setVoteType(1);
					}
					this.getAgreeAgainstService().saveAgreeAgainst(agreeAgainst);
					if (yesno) {
						this.getAjaxMessagesJson().setMessage("0", this.getText("post.agreeagainst.ok"),
								String.valueOf(f.getAgree()));
					} else {
						this.getAjaxMessagesJson().setMessage("0", this.getText("post.agreeagainst.ok"),
								String.valueOf(f.getBeAgainst()));
					}
				} catch (BbscsException ex) {
					this.getAjaxMessagesJson().setMessage("E_POST_AGREEAGAINST_ERROR",
							this.getText("error.post.agreeagainst.error"));
				}
			} else {
				this.getAjaxMessagesJson().setMessage("E_POST_AGREEAGAINST_REPEAT",
						this.getText("error.post.agreeagainst.repeat"));
			}
		}
		return RESULT_AJAXJSON;
	}

	public String dela() {
		Forum f = this.getForumService().findForumByID(this.getId(), this.getBid());
		if (f == null) {
			this.getAjaxMessagesJson().setMessage("E_POST_NOT_EXIST", this.getText("error.post.getpost"));
			return RESULT_AJAXJSON;
		}
		if ((f.getCanNotRe() == 0 && f.getUserID().equals(this.getUserSession().getId()))
				|| this.getUserSession().isHaveBoardSpecialPermission(Constant.SPERMISSION_CAN_DELPOST)) {
			f.setDelIP(this.getRemoteAddr());
			f.setDelSign(1);
			f.setDelTime(System.currentTimeMillis());
			f.setDelUserID(this.getUserSession().getId());
			f.setDelUserName(this.getUserSession().getUserName());
			if (f.getIndexStatus() == Constant.INDEX_STATUS_NO_INDEX) {
				f.setIndexStatus(Constant.INDEX_STATUS_NO_INDEX_TO_DEL);
			} else {
				f.setIndexStatus(Constant.INDEX_STATUS_NEED_DEL);
			}

			UserInfo ui = this.getUserService().findUserInfoById(f.getUserID());
			try {
				this.getForumService().delaPost(f, this.getBoard(), ui);
				this.getAjaxMessagesJson().setMessage("0", this.getText("post.del.ok"));

			} catch (BbscsException ex1) {
				this.getAjaxMessagesJson().setMessage("E_POST_DEL_ERROR", this.getText("error.post.del1"));
			}
		} else {
			this.getAjaxMessagesJson().setMessage("E_NO_PERMISSION", this.getText("error.noPermission.ajax"));
		}
		return RESULT_AJAXJSON;
	}

	public String subs() {
		Forum f = this.getForumService().findForumByID(this.getId(), this.getBid());
		if (f == null) {
			this.getAjaxMessagesJson().setMessage("E_POST_NOT_EXIST", this.getText("error.post.getpost"));
			return RESULT_AJAXJSON;
		}
		if (this.getSubscibeService().findSubscibeByPostID(this.getId(), this.getUserSession().getId(), this.getBid()) == null) {
			UserInfo ui = this.getUserService().findUserInfoById(this.getUserSession().getId());
			if (ui != null) {
				Subscibe subs = this.getSubscibeFactory().getInstance(this.getBid());
				subs.setBoardID(this.getBid());
				subs.setCreateTime(new Date());
				subs.setEmailinform(1);
				subs.setMsginform(1);
				subs.setNickName(this.getUserSession().getNickName());
				//subs.setPostID(this.getId());
				//subs.setPostTitle(f.getTitle());

                subs.setForum(f);

                subs.setUserEmail(ui.getEmail());
				subs.setUserID(this.getUserSession().getId());
				subs.setUserName(this.getUserSession().getUserName());
				subs.setUserLocale(ui.getUserLocale());
				try {
					this.getSubscibeService().saveSubscibe(subs);
					this.getAjaxMessagesJson().setMessage("0", this.getText("post.subs.ok"));
				} catch (BbscsException ex2) {
					this.getAjaxMessagesJson().setMessage("E_POST_SUBS_ERROR", this.getText("error.post.subs.error"));
				}
			}
		} else {
			this.getAjaxMessagesJson().setMessage("E_POST_SUBS_EXIST", this.getText("error.post.subs.exist"));

		}
		return RESULT_AJAXJSON;
	}

	public String top() {
		return this.settop(true);
	}

	public String untop() {
		return this.settop(false);
	}

	private String settop(boolean yesno) {
		Forum f = this.getForumService().findForumByID(this.getId(), this.getBid());
		if (f == null) {
			this.getAjaxMessagesJson().setMessage("E_POST_NOT_EXIST", this.getText("error.post.getpost"));
			return RESULT_AJAXJSON;
		}
		if (yesno) {
			if (f.getIsTop() == 0) {
				f.setIsTop(1);
				try {
					this.getForumService().saveOrUpdateForum(f);
					this.getAjaxMessagesJson().setMessage("0", this.getText("post.top.set.ok"));
				} catch (BbscsException ex3) {
					this.getAjaxMessagesJson().setMessage("E_POST_TOP_SET_ERROR",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -