in.java

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

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

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

import org.apache.struts.action.*;
import com.laoer.bbscs.bean.*;
import com.laoer.bbscs.comm.*;
import com.laoer.bbscs.service.*;
import com.laoer.bbscs.service.config.*;
import com.laoer.bbscs.service.singleton.*;
import com.laoer.bbscs.web.servlet.*;
import java.net.*;

public class In
    extends BaseAction {

  private UserService userService;

  private NoteService noteService;

  private FriendService friendService;

  private UserOnlineService userOnlineService;

  private ForumService forumService;

  private SysConfig sysConfig;

  private SysStatService sysStatService;

  private BoardSingleton boardSingleton;

  private BoardService boardService;

  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                               HttpServletResponse response) {
    //InForm inForm = (InForm) form;

    UserSession us = this.getUserSession(request);

    //ActionMessages messages = new ActionMessages();
    Locale locale = this.getLocale(request);

    int isHidden = 0;
    if (us.isHaveSpecialPermission(Constant.SPERMISSION_CAN_SEE_HIDDEN_BOARD)) { //如果用户有查看隐藏版区的权限
      isHidden = -1;
    }

    UserInfo ui = this.getUserService().findUserInfoById(us.getId());

    //long atime = BBSCSUtil.getOnlineInTime();
    long atime = System.currentTimeMillis() - (this.getSysConfig().getUserOnlineTime() * 1000);

    int onlineNum = this.getUserOnlineService().getUserOnlineNum(atime, 0, 0,
        Constant.NORMAL_USER_GROUPS);
    int onlineGuestNum = this.getUserOnlineService().getUserOnlineNum(atime, 0, 0,
        Constant.GUEST_USER_GROUPS);

    this.getSysStatService().saveOnline(onlineNum + onlineGuestNum);
    request.setAttribute("sysStatService", this.getSysStatService());

    this.setUrlRewrite(request);

    if (ui == null || us.getGroupID() == Constant.USER_GROUP_GUEST) {
      //messages.add("error.user.noexist", new ActionMessage("error.user.noexist"));
      //this.saveErrors(request, messages);
      //return mapping.getInputForward();
      request.setAttribute("lastLoginTime", new Date());
      request.setAttribute("titleValue", new Integer(0));
      //String userTitle = BBSCSUtil.getUserTitle(0, 0, locale);
      ui = null;
      String userTitle = this.getUserService().getUserTitle(ui);
      request.setAttribute("userTitle", userTitle);
      request.setAttribute("newNoteNumInbox", new Integer(0));
      request.setAttribute("noteAllNumInbox", new Integer(0));
      request.setAttribute("friendNum", new Integer(0));

      request.setAttribute("onlineNum", new Integer(onlineNum));
      request.setAttribute("onlineGuestNum", new Integer(onlineGuestNum));
      request.setAttribute("friendOnlineNum", new Integer(0));
      request.setAttribute("isGuest", new Boolean(true));

    }
    else {

      //MessageResources mr = this.getResources(request);
      //Locale locale = this.getLocale(request);
      request.setAttribute("lastLoginTime", ui.getLastLoginTime());
      int titleValue = this.getUserService().getUserTitleValue(ui);
      request.setAttribute("titleValue", new Integer(titleValue));
      //String userTitle = BBSCSUtil.getUserTitle(ui.getUserTitle(), titleValue, locale);
      String userTitle = this.getUserService().getUserTitle(ui);
      request.setAttribute("userTitle", userTitle);

      int newNoteNumInbox = this.getNoteService().getNoteNumInBoxByIsNew(us.getId(), 1);
      int noteAllNumInbox = this.getNoteService().getNoteAllNumInBox(us.getId());

      request.setAttribute("newNoteNumInbox", new Integer(newNoteNumInbox));
      request.setAttribute("noteAllNumInbox", new Integer(noteAllNumInbox));

      int friendNum = this.getFriendService().getFriendNum(us.getId(), 0);

      request.setAttribute("friendNum", new Integer(friendNum));

      //System.out.println(this.getFriendService().fileToFriendIDs(us.getId()));

      int friendOnlineNum = this.getUserOnlineService().getUserOnlineNumInIds(atime,
          this.getFriendService().fileToFriendIDs(us.getId()), 0, 0, Constant.NORMAL_USER_GROUPS);

      request.setAttribute("onlineNum", new Integer(onlineNum));
      request.setAttribute("onlineGuestNum", new Integer(onlineGuestNum));
      request.setAttribute("friendOnlineNum", new Integer(friendOnlineNum));
      request.setAttribute("isGuest", new Boolean(false));
    }

    //List newfs = this.getForumService().findForumsAllNew(20);
    List newfs = this.getForumService().findForumsAllNewCache(50);
    List newflist = new ArrayList();
    if (newfs.size() > 10) {
      for (int i = 0; i < 10; i++) {
        newflist.add(newfs.get(i));
      }
    }
    else {
      for (int i = 0; i < newfs.size(); i++) {
        newflist.add(newfs.get(i));
      }
    }

    request.setAttribute("newfs", newflist);

    Map bmap = new HashMap();
    List bids = this.getBoardSingleton().getBoardIdl();

    List blist = this.getBoardService().findBoardsInIDsInSameLevel(bids, 1, isHidden);
    for (int i = 0; i < blist.size(); i++) {
      Board b = (Board) blist.get(i);
      List bclist = this.getBoardService().findBoardsInIDsInSameLevel(b.getChildIDs(), 1, isHidden);

      bmap.put(b.getId(), bclist);
    }
    request.setAttribute("blist", blist);
    request.setAttribute("bmap", bmap);

    request.setAttribute("usepass", new Boolean(this.getSysConfig().isUsePass()));
    String tourl = "";
    try {
      if (Constant.USE_URL_REWRITE) {
        tourl = BBSCSUtil.absoluteActionURLHtml(request, "/main.html").toString();
      }
      else {
        tourl = BBSCSUtil.absoluteActionURL(request, "/main").toString();
      }
    }
    catch (MalformedURLException ex) {
      tourl = "main.bbscs";
    }

    if (this.getSysConfig().isUsePass()) {
      request.setAttribute("actionUrl", sysConfig.getPassUrl());
      request.setAttribute("tourl", tourl);
    }
    else {
      String actionUrl = "";
      try {
        actionUrl = BBSCSUtil.absoluteActionURL(request, "/login").toString();
      }
      catch (MalformedURLException ex1) {
        actionUrl = "login.bbscs";
      }
      request.setAttribute("actionUrl", actionUrl);
      request.setAttribute("tourl", tourl);
    }

    //return mapping.findForward("in");
    return mapping.findForward("first");
  }

  public UserService getUserService() {
    return userService;
  }

  public NoteService getNoteService() {
    return noteService;
  }

  public FriendService getFriendService() {
    return friendService;
  }

  public UserOnlineService getUserOnlineService() {
    return userOnlineService;
  }

  public SysConfig getSysConfig() {
    return sysConfig;
  }

  public ForumService getForumService() {
    return forumService;
  }

  public SysStatService getSysStatService() {
    return sysStatService;
  }

  public BoardSingleton getBoardSingleton() {
    return boardSingleton;
  }

  public BoardService getBoardService() {
    return boardService;
  }

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

  public void setNoteService(NoteService noteService) {
    this.noteService = noteService;
  }

  public void setFriendService(FriendService friendService) {
    this.friendService = friendService;
  }

  public void setUserOnlineService(UserOnlineService userOnlineService) {
    this.userOnlineService = userOnlineService;
  }

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

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

  public void setSysStatService(SysStatService sysStatService) {
    this.sysStatService = sysStatService;
  }

  public void setBoardSingleton(BoardSingleton boardSingleton) {
    this.boardSingleton = boardSingleton;
  }

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

⌨️ 快捷键说明

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