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

📄 mysubscibe.java

📁 天乙社区6.0是一套基于JAVA技术的网络虚拟社区
💻 JAVA
字号:
package com.laoer.bbscs.web.action;

import com.laoer.bbscs.web.form.*;
import com.laoer.bbscs.web.servlet.*;
import com.laoer.bbscs.bean.*;
import com.laoer.bbscs.sys.*;
import org.apache.struts.action.*;
import javax.servlet.http.*;

/**
 * <p>Title: TianYi BBS</p>
 * <p>Description: TianYi BBS System</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: LAOER.COM/TIANYISOFT.NET</p>
 * @author laoer
 * @version 6.0
 */

public class MySubscibe
    extends BaseAction {
  public ActionForward execute(ActionMapping actionMapping,
                               ActionForm actionForm,
                               HttpServletRequest httpServletRequest,
                               HttpServletResponse httpServletResponse) {

    ActionErrors errors = new ActionErrors();
    SubscibeForm form = (SubscibeForm) actionForm;
    UserCheck uc = this.getUserCheck(httpServletRequest, httpServletResponse,
                                     form.getBid());
    if (uc.isGuest()) {
      errors.add("error.pleaselogin", new ActionError("error.pleaselogin"));
      saveErrors(httpServletRequest, errors);
      //return actionMapping.findForward("login");
      return SysUtil.getPassLogin(actionMapping);
    }
    if (form.getAction().equals("add")) {
      if (getSubscibeService().getPostSubscibe(form.getPostID(), uc.getId(),
                                               form.getBid()) != null) {
        errors.add("subscibe.already", new ActionError("error.subscibe.already"));
        saveErrors(httpServletRequest, errors);
        return actionMapping.findForward("error");
      }
      int num = this.getSubscibeService().getSubscibeNum(uc.getId(),
          form.getBid());
      boolean isCanAdd = true;
      if (uc.isSuperAdmin()) {
        if (num >= SysInfo.getInstance().getSubscibenumsuper()) {
          isCanAdd = false;
        }
      }
      else if (uc.isMainMaster() || uc.isAssiMaster() || uc.isHideMaster() ||
               uc.isBmaster()) {
        if (num >= SysInfo.getInstance().getSubscibenummaster()) {
          isCanAdd = false;
        }
      }
      else {
        if (num >= SysInfo.getInstance().getSubscibenumuser()) {
          isCanAdd = false;
        }
      }

      if (!isCanAdd) {
        errors.add("error.subscibe.num", new ActionError("error.subscibe.num"));
        saveErrors(httpServletRequest, errors);
        return actionMapping.findForward("error");
      }

      Forum forum = this.getForumService().getForum(form.getPostID(),
          form.getBid());
      if (forum == null) {
        errors.add("getpost", new ActionError("error.post.getpost"));
        saveErrors(httpServletRequest, errors);
        return actionMapping.findForward("error");
      }
      UserInfo ui = this.getUserCache().getUserInfoFromCache(uc.getId());
      if (ui == null) {
        errors.add("error.getusererror", new ActionError("error.getusererror"));
        saveErrors(httpServletRequest, errors);
        return actionMapping.findForward("error");
      }
      Subscibe subs = SubscibeFactory.getInstance(form.getBid());
      subs.setBoardID(form.getBid());
      subs.setEmailinform( (short) 0);
      subs.setMsginform( (short) 1);
      subs.setNickName(uc.getNickname());
      subs.setPostID(form.getPostID());
      subs.setPostTitle(forum.getTitle());
      subs.setUserEmail(ui.getEmail());
      subs.setUserID(uc.getId());
      subs.setUserName(uc.getUsername());
      if (this.getSubscibeService().saveSubscibe(subs) == null) {
        errors.add("error.subscibe", new ActionError("error.subscibe"));
        saveErrors(httpServletRequest, errors);
        return actionMapping.findForward("error");
      }
      ActionForward f = new ActionForward(SysUtil.getResultUrl(
          "succeed.subscibe", Constant.GOBACK), true);
      return f;
    }
    if (form.getAction().equals("list")) {
      Pages pages = new Pages(httpServletRequest);
      pages.setPage(form.getPage());
      pages.setPerPageNum(uc.getFormPerNum());
      pages.setFileName("subscibe" + Constant.FILEPREFIX + "?bid=" +
                        form.getBid());
      pages.setStyle(1);
      PageList pl = getSubscibeService().getMySubscibeList(uc.getId(),
          form.getBid(), pages);
      httpServletRequest.setAttribute("pl", pl);
      httpServletRequest.setAttribute("uc", uc);
      httpServletRequest.setAttribute("pages", String.valueOf(form.getPage()));
      return actionMapping.findForward("mysubs");
    }
    if (form.getAction().equals("delemail")) {
      Subscibe subs = this.getSubscibeService().getSubscibe(form.getId(),
          uc.getId(), form.getBid());
      if (subs != null) {
        if (subs.getMsginform() == 0) {
          this.getSubscibeService().removeSubscibe(subs);
        }
        else {
          subs.setEmailinform( (short) 0);
          this.getSubscibeService().saveSubscibe(subs);
        }
      }
      ActionForward f = new ActionForward("/subscibe" + Constant.FILEPREFIX +
                                          "?bid=" + form.getBid() +
                                          "&page=" + form.getPage(), true);
      return f;
    }
    if (form.getAction().equals("delmsg")) {
      Subscibe subs = this.getSubscibeService().getSubscibe(form.getId(),
          uc.getId(), form.getBid());
      if (subs != null) {
        if (subs.getEmailinform() == 0) {
          this.getSubscibeService().removeSubscibe(subs);
        }
        else {
          subs.setMsginform( (short) 0);
          this.getSubscibeService().saveSubscibe(subs);
        }
      }
      ActionForward f = new ActionForward("/subscibe" + Constant.FILEPREFIX +
                                          "?bid=" + form.getBid() +
                                          "&page=" + form.getPage(), true);
      return f;
    }
    if (form.getAction().equals("delall")) {
      Subscibe subs = this.getSubscibeService().getSubscibe(form.getId(),
          uc.getId(), form.getBid());
      if (subs != null) {
        this.getSubscibeService().removeSubscibe(subs);
      }
      ActionForward f = new ActionForward("/subscibe" + Constant.FILEPREFIX +
                                          "?bid=" + form.getBid() +
                                          "&page=" + form.getPage(), true);
      return f;
    }

    return actionMapping.findForward("error");
  }
}

⌨️ 快捷键说明

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