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

📄 boardserviceimp.java

📁 java论坛
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      Board pboard = this.getBoardDAO().getBoardByID(board.getParentID()); //取得父版区

      this.getBoardDAO().removeBoard(board); //删除版区
      this.getBoardPermissionDAO().removeBoardPermissionsByBid(board.getId().longValue());

      if (pboard != null) { //父版区存在,对ChildIDs字段做矫正
        List pcboards = this.getBoardDAO().findBoardsByParentID(pboard.getId().longValue(), 1, 0,
            Constant.FIND_BOARDS_BY_ORDER);
        List cids = this.getBoardIDs(pcboards);
        pboard.setChildIDs(cids);
        this.getBoardDAO().saveBoard(pboard);
      }
    }
    catch (Exception ex) {
      logger.error(ex);
      throw new BbscsException(ex);
    }
  }

  /**
   *
   * @param boards List
   * @return List
   */
  public List getBoardIDs(List boards) {
    List l = new ArrayList();
    for (int i = 0; i < boards.size(); i++) {
      Board b = (Board) boards.get(i);
      l.add(b.getId());
    }
    return l;
  }

  /**
   *
   * @param bid long
   * @param groupID int
   * @return Map[]
   */
  public Map[] getBoardPermission(long bid, int groupID) {
    Map[] mapPermission = {new HashMap(), new HashMap()};
    BoardPermission bp = this.getBoardPermissionDAO().findBoardPermissionByBidGid(bid, groupID);
    List permissions = bp.getPermissions(); //取得权限ID列表
    if (permissions != null && !permissions.isEmpty()) {
      List permissionList = this.getPermissionDAO().findPermissionnIDs(permissions); //取得权限列表
      for (int i = 0; i < permissionList.size(); i++) {
        Permission permission = (Permission) permissionList.get(i);
        if (permission.getTypeID() == 2) {
          mapPermission[0].put(permission.getResource() + "," + permission.getAction(),
                               permission);
        }
        if (permission.getTypeID() == 3) {
          mapPermission[1].put(permission.getId(), permission);
        }
      }
    }
    return mapPermission;
  }

  public Map[] getBoardMasterPermission(int roleID) {
    Map[] mapPermission = {new HashMap(), new HashMap()};
    Role role = this.getRoleDAO().findRoleByID(roleID);
    List permissions = role.getPermissions(); //取得角色的权限ID列表
    if (permissions != null && !permissions.isEmpty()) {
      List permissionList = this.getPermissionDAO().findPermissionnIDs(permissions); //取得权限列表
      for (int i = 0; i < permissionList.size(); i++) {
        Permission permission = (Permission) permissionList.get(i);
        if (permission.getTypeID() == 2) {
          mapPermission[0].put(permission.getResource() + "," + permission.getAction(),
                               permission);
        }
        if (permission.getTypeID() == 3) {
          mapPermission[1].put(permission.getId(), permission);
        }
      }
    }
    return mapPermission;
  }

  public boolean isBoardMaster(Board board, String userName) {
    if (board.getBoardMaster().get(userName) == null) {
      return false;
    }
    else {
      return true;
    }
  }

  public List findBoardsInIDsInSameLevel(List ids, int useStat, int hidden) {
    return this.getBoardDAO().findBoardsInIDs(ids, useStat, hidden);
  }

  public List findBoardsInIDs(List ids) {
    return this.getBoardDAO().findBoardsInIDs(ids, -1, -1);
  }

  public List findParentBoards(List ids) {
    List l = this.getBoardDAO().findBoardsInIDs(ids, 1, -1);
    List blist = new ArrayList();
    for (int i = 0; i < ids.size(); i++) {
      for (int j = 0; j < l.size(); j++) {
        Board b = (Board) l.get(j);
        if (b.getId().equals(ids.get(i))) {
          blist.add(b);
        }
      }
    }
    return blist;
  }

  public List findBoardsNeedCount(int useStat, int hidden) {
    return this.getBoardDAO().findBoardsNeedCount(useStat, hidden);
  }

  public List getBoardsNeedCount(List boardlist) {
    List boardNeedCount = new ArrayList();
    for (int i = 0; i < boardlist.size(); i++) {
      Board b = (Board) boardlist.get(i);
      if (b.getBoardType() == 3 || b.getBoardType() == 4) {
        boardNeedCount.add(b);
      }
    }
    return boardNeedCount;
  }

  public void saveBoardsPostNumCount() throws BbscsException {
    List l = this.getBoardDAO().findBoardsNeedCount(1, 0);
    for (int i = 0; i < l.size(); i++) {
      Board b = (Board) l.get(i);
      b.setMainPostNum(this.getForumDAO().getForumNum(b.getId().longValue(), 1, 0, 0) +
                       this.getForumHistoryDAO().getForumHistoryNum(b.getId().longValue(), 1, 0, 0));
      b.setPostNum(this.getForumDAO().getForumNum(b.getId().longValue(), -1, 0, 0) +
                   this.getForumHistoryDAO().getForumHistoryNum(b.getId().longValue(), -1, 0, 0));
      try {
        this.getBoardDAO().saveBoard(b);
      }
      catch (Exception ex) {
        logger.error(ex);
        throw new BbscsException(ex);
      }
    }
  }

  public void createBoardListFileInForumCover(long bid) {
    List blist = this.getBoardDAO().findBoardsByParentID(bid, 1, 0, Constant.FIND_BOARDS_BY_ORDER);
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < blist.size(); i++) {
      Board b = (Board) blist.get(i);
      sb.append("<tr>");
      sb.append("<td width=\"20%\">·");
      sb.append("<a href=\"");
      sb.append(BBSCSUtil.getActionMappingURLWithoutPrefix("forum?action=index&bid=" + b.getId().longValue()));
      sb.append("\">");
      sb.append(b.getBoardName());
      sb.append("</a>");
      sb.append("&gt;&gt;</td>");
      sb.append("<td width=\"80%\">");
      List blist1 = this.getBoardDAO().findBoardsByParentID(b.getId().longValue(), 1, 0,
          Constant.FIND_BOARDS_BY_ORDER);
      for (int j = 0; j < blist1.size(); j++) {
        Board b1 = (Board) blist1.get(j);
        sb.append("·");
        sb.append("<a href=\"");
        sb.append(BBSCSUtil.getActionMappingURLWithoutPrefix("forum?action=index&bid=" + b1.getId().longValue()));
        sb.append("\">");
        sb.append(b1.getBoardName());
        sb.append("</a> ");
      }
      sb.append("</td>");
      sb.append("</tr>");
    }
    File blistfile = new File(BBSCSUtil.getIncludePath() + "ForumCover_BoardList_" + bid + ".html");
    try {
      FileUtils.writeStringToFile(blistfile, sb.toString(), Constant.CHARSET);
    }
    catch (IOException ex) {
      logger.error(ex);
    }
  }

  public void createBoardHotListFileInForumCover(long bid) {
    List bhotlist = this.findBoardsAllTree(bid, new ArrayList(), 1, 0, Constant.FIND_BOARDS_BY_ORDER);
    List bhlist = this.getBoardsNeedCount(bhotlist);
    StringBuffer sb = new StringBuffer();
    Collections.sort(bhlist, new BoardsMainPostNumComparator());
    int len = bhlist.size();
    if (len >= 10) {
      len = 10;
    }
    for (int i = 0; i < len; i++) {
      Board b = (Board) bhlist.get(i);
      sb.append("<tr>");
      sb.append("<td width=\"70%\">");
      sb.append("<a href=\"");
      sb.append(BBSCSUtil.getActionMappingURLWithoutPrefix("forum?action=index&bid=" + b.getId().longValue()));
      sb.append("\">");
      sb.append(b.getBoardName());
      sb.append("</a>");
      sb.append("</td>");
      sb.append("<td width=\"30%\">");
      sb.append(b.getMainPostNum());
      sb.append("</td>");
      sb.append("</tr>");
    }
    File bhotlistfile = new File(BBSCSUtil.getIncludePath() + "ForumCover_BoardHotList_" + bid + ".html");
    try {
      FileUtils.writeStringToFile(bhotlistfile, sb.toString(), Constant.CHARSET);
    }
    catch (IOException ex) {
      logger.error(ex);
    }
  }

  public void createBoardFileInForumCover() {
    List l = this.getBoardDAO().findBoardsByParentID(0);
    for (int i = 0; i < l.size(); i++) {
      Board b = (Board) l.get(i);
      if (b.getBoardType() == 0) {
        this.createBoardListFileInForumCover(b.getId().longValue());
        this.createBoardHotListFileInForumCover(b.getId().longValue());
      }
    }
  }

  public BoardDAO getBoardDAO() {
    return boardDAO;
  }

  public BoardPermissionDAO getBoardPermissionDAO() {
    return boardPermissionDAO;
  }

  public UserGroupDAO getUserGroupDAO() {
    return userGroupDAO;
  }

  public PermissionDAO getPermissionDAO() {
    return permissionDAO;
  }

  public RoleDAO getRoleDAO() {
    return roleDAO;
  }

  public ForumDAO getForumDAO() {
    return forumDAO;
  }

  public ForumHistoryDAO getForumHistoryDAO() {
    return forumHistoryDAO;
  }

  public void setBoardDAO(BoardDAO boardDAO) {
    this.boardDAO = boardDAO;
  }

  public void setBoardPermissionDAO(BoardPermissionDAO boardPermissionDAO) {
    this.boardPermissionDAO = boardPermissionDAO;
  }

  public void setUserGroupDAO(UserGroupDAO userGroupDAO) {
    this.userGroupDAO = userGroupDAO;
  }

  public void setPermissionDAO(PermissionDAO permissionDAO) {
    this.permissionDAO = permissionDAO;
  }

  public void setRoleDAO(RoleDAO roleDAO) {
    this.roleDAO = roleDAO;
  }

  public void setForumDAO(ForumDAO forumDAO) {
    this.forumDAO = forumDAO;
  }

  public void setForumHistoryDAO(ForumHistoryDAO forumHistoryDAO) {
    this.forumHistoryDAO = forumHistoryDAO;
  }
}

⌨️ 快捷键说明

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