manageadvance.java

来自「一个jsp写的bbs」· Java 代码 · 共 238 行

JAVA
238
字号
package com.laoer.bbscs.web.action;

import javax.servlet.http.*;
import java.util.*;

import org.apache.struts.action.*;
import org.apache.commons.lang.*;
import com.laoer.bbscs.bean.*;
import com.laoer.bbscs.comm.*;
import com.laoer.bbscs.service.*;
import com.laoer.bbscs.web.form.*;
import org.apache.struts.util.MessageResources;
import com.laoer.bbscs.exception.*;

public class ManageAdvance
    extends BaseAction {

  private BoardService boardService;

  private BoardAuthUserService boardAuthUserService;

  private UserService userService;

  private AjaxMessagesXML ajaxMessagesXML;

  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                               HttpServletResponse response) {
    ManageAdvanceForm manageAdvanceForm = (ManageAdvanceForm) form;

    long bid = manageAdvanceForm.getBid();

    Board board = (Board) request.getAttribute(Constant.BOARD_REQUEST_KEY);
    if (board == null) {
      board = this.getBoardService().getBoardByID(bid);
      request.setAttribute("board", board);
    }

    if (manageAdvanceForm.getAction().equalsIgnoreCase("index")) {
      List authUsers = this.getBoardAuthUserService().findBoardAuthUsersByBid(bid);
      request.setAttribute("authUsers", authUsers);

      return mapping.findForward("manageAdvance");
    }

    if (manageAdvanceForm.getAction().equalsIgnoreCase("forbiduser")) {
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      if (StringUtils.isBlank(manageAdvanceForm.getForbidUserName())) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_NULL, mr.getMessage(locale, "error.nullerror"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
      UserInfo ui = this.getUserService().findUserInfoByUserName(manageAdvanceForm.getForbidUserName());
      if (ui == null) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_USER_NOEXIST,
                                             mr.getMessage(locale, "error.user.noexist"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
      if (manageAdvanceForm.getForbidType() == 0) {
        if (ui.getGroupID() == Constant.USER_GROUP_ADMIN || ui.getGroupID() == Constant.USER_GROUP_SUPERBM ||
            this.getBoardService().isBoardMaster(board, manageAdvanceForm.getForbidUserName())) {
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_CANNOTFORBID,
                                               mr.getMessage(locale, "error.manageadv.cannotforbid"));
          this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
          return mapping.findForward(this.FORWARD_AJAX);
        }
        if (ui.getGroupID() == Constant.USER_GROUP_FORBID) {
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_FORBID_EXIST,
                                               mr.getMessage(locale, "error.manageadv.forbidexist"));
          this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
          return mapping.findForward(this.FORWARD_AJAX);
        }
        ui.setGroupID(Constant.USER_GROUP_FORBID);
        try {
          this.getUserService().saveUserInfo(ui);
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                               mr.getMessage(locale, "manageadv.forbid.addok",
              manageAdvanceForm.getForbidUserName()));
        }
        catch (BbscsException ex) {
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_FORBID_ADD_ERROR,
                                               mr.getMessage(locale, "error.manageadv.adderror"));
        }
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
      if (manageAdvanceForm.getForbidType() == 1) {
        if (ui.getGroupID() != Constant.USER_GROUP_FORBID) {
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_NOT_FORBID,
                                               mr.getMessage(locale, "error.manageadv.cannotforbid"));
          this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
          return mapping.findForward(this.FORWARD_AJAX);
        }
        ui.setGroupID(Constant.USER_GROUP_REGUSER);
        try {
          this.getUserService().saveUserInfo(ui);
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                               mr.getMessage(locale, "manageadv.forbid.outok",
              manageAdvanceForm.getForbidUserName()));

        }
        catch (BbscsException ex1) {
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_FORBID_OUT_ERROR,
                                               mr.getMessage(locale, "error.manageadv.outerror"));
        }
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
    }

    if (manageAdvanceForm.getAction().equalsIgnoreCase("bulletin")) {
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      String bulletin = StringUtils.trimToEmpty(manageAdvanceForm.getBulletin());
      board.setBulletin(bulletin);
      try {
        board = this.getBoardService().saveBoard(board);
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                             mr.getMessage(locale, "manageadv.bulletin.updateok"));

      }
      catch (BbscsException ex2) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_FORBID_OUT_ERROR,
                                             mr.getMessage(locale, "error.manageadv.bulletin.updateerror"));
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (manageAdvanceForm.getAction().equalsIgnoreCase("addauth")) {
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      if (StringUtils.isBlank(manageAdvanceForm.getAddAuthUserName())) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_NULL, mr.getMessage(locale, "error.nullerror"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
      BoardAuthUser bau = this.getBoardAuthUserService().findBoardAuthUserByBidUserName(bid,
          manageAdvanceForm.getAddAuthUserName());
      if (bau != null) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_AUTHUSER_EXIST,
                                             mr.getMessage(locale, "error.manageadv.authuserexist"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
      UserInfo ui = this.getUserService().findUserInfoByUserName(manageAdvanceForm.getAddAuthUserName());
      if (ui == null) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_USER_NOEXIST,
                                             mr.getMessage(locale, "error.user.noexist"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
      bau = new BoardAuthUser();
      bau.setBoardID(bid);
      bau.setCreateTime(System.currentTimeMillis());
      bau.setUserID(ui.getId());
      bau.setUserName(ui.getUserName());
      try {
        this.getBoardAuthUserService().saveBoardAuthUser(bau);
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                             mr.getMessage(locale, "manageadv.authuser.add.ok"));
      }
      catch (BbscsException ex3) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_AUTHUSER_ADD_ERROR,
                                             mr.getMessage(locale, "error.manageadv.authuser.add.error"));
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (manageAdvanceForm.getAction().equalsIgnoreCase("delauth")) {
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      if (StringUtils.isBlank(manageAdvanceForm.getDelAuthUserName())) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_NULL, mr.getMessage(locale, "error.nullerror"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
      BoardAuthUser bau = this.getBoardAuthUserService().findBoardAuthUserByBidUserName(bid,
          manageAdvanceForm.getDelAuthUserName());
      if (bau != null) {
        try {
          this.getBoardAuthUserService().removeBoardAuthUser(bau);
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                               mr.getMessage(locale, "manageadv.authuser.del.ok"));
        }
        catch (BbscsException ex4) {
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_AUTHUSER_DEL_ERROR,
                                               mr.getMessage(locale, "error.manageadv.authuser.del.error"));
        }
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
      else {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_MANAGEADV_AUTHUSER_DEL_ERROR,
                                               mr.getMessage(locale, "error.manageadv.authuser.del.error"));
        this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
        return mapping.findForward(this.FORWARD_AJAX);
      }
    }

    return mapping.findForward(this.FORWARD_ERROR);
  }

  public BoardService getBoardService() {
    return boardService;
  }

  public BoardAuthUserService getBoardAuthUserService() {
    return boardAuthUserService;
  }

  public AjaxMessagesXML getAjaxMessagesXML() {
    return ajaxMessagesXML;
  }

  public UserService getUserService() {
    return userService;
  }

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

  public void setBoardAuthUserService(BoardAuthUserService boardAuthUserService) {
    this.boardAuthUserService = boardAuthUserService;
  }

  public void setAjaxMessagesXML(AjaxMessagesXML ajaxMessagesXML) {
    this.ajaxMessagesXML = ajaxMessagesXML;
  }

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

⌨️ 快捷键说明

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