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

📄 forumserviceimp.java

📁 java论坛
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    pages.executeCount();

    List l = this.getForumDAO().findForumsRcc(bid, -1, click, -1, "postTime", Constant.ORDER_DESC,
                                              pages.getSpage(), pages.getPerPageNum());
    pl.setObjectList(l);
    pl.setPages(pages);
    return pl;
  }

  /**
   *
   * @param bids List
   * @param commen int
   * @return int
   */
  public int getForumNumCommend(List bids, long commen) {
    return this.getForumDAO().getForumNumRcc(bids, -1, -1, commen);
  }

  /**
   *
   * @param bid long
   * @param commen int
   * @return int
   */
  public int getForumNumCommend(long bid, long commen) {
    return this.getForumDAO().getForumNumRcc(bid, -1, -1, commen);
  }

  public int getForumNumCommend(long commend) {
    return this.getForumDAO().getForumNumCommend(commend);
  }

  /**
   *
   * @param bids List
   * @param commen int
   * @param pages Pages
   * @return PageList
   */
  public PageList findForumsCommend(List bids, long commen, Pages pages) {
    PageList pl = new PageList();
    if (pages.getTotalNum() == -1) {
      pages.setTotalNum(this.getForumNumCommend(bids, commen));
    }
    pages.executeCount();

    List l = this.getForumDAO().findForumsRcc(bids, -1, -1, commen, "postTime", Constant.ORDER_DESC,
                                              pages.getSpage(), pages.getPerPageNum());
    pl.setObjectList(l);
    pl.setPages(pages);
    return pl;
  }

  /**
   *
   * @param bid long
   * @param commen int
   * @param pages Pages
   * @return PageList
   */
  public PageList findForumsCommend(long bid, long commen, Pages pages) {
    PageList pl = new PageList();
    if (pages.getTotalNum() == -1) {
      pages.setTotalNum(this.getForumNumCommend(bid, commen));
    }
    pages.executeCount();

    List l = this.getForumDAO().findForumsRcc(bid, -1, -1, commen, "postTime", Constant.ORDER_DESC,
                                              pages.getSpage(), pages.getPerPageNum());
    pl.setObjectList(l);
    pl.setPages(pages);
    return pl;
  }

  public PageList findForumsCommend(long commend, Pages pages) {
    PageList pl = new PageList();
    if (pages.getTotalNum() == -1) {
      pages.setTotalNum(this.getForumNumCommend(commend));
    }
    pages.executeCount();
    System.out.println(pages.getSpage());

    List l = this.getForumDAO().findForumsCommend(commend, "postTime", Constant.ORDER_DESC, pages.getSpage(),
                                                  pages.getPerPageNum());
    pl.setObjectList(l);
    pl.setPages(pages);
    return pl;
  }

  public boolean isReedUser(long bid, String mainID, String userID) {
    int num = this.getForumDAO().getForumNumInMainIDByUserID(bid, mainID, userID, 0, 0, 0);
    if (num > 0) {
      return true;
    }
    else {
      return false;
    }
    /**
         List l = this.getForumDAO().findForumsInMainIDByUserID(bid, mainID, userID, 0, "postTime",
        Constant.ORDER_ASC, 0, 1);
         if (l == null || l.isEmpty()) {
      return false;
         }
         else {
      return true;
         }*/
  }

  public void delaPost(Forum forum, Board board, UserInfo ui) throws BbscsException {
    try {
      forum = this.getForumDAO().saveForum(forum);
      if (forum.getIsNew() != 1) {
        Forum mainForum = this.getForumDAO().findForumByID(forum.getMainID(), forum.getBoardID());
        if (mainForum != null) {
          mainForum.setReNum(mainForum.getReNum() - 1);
          if (mainForum.getLastTime() == forum.getPostTime()) {
            List l = this.getForumDAO().findForumsTopic(mainForum.getBoardID(), mainForum.getId(), 0,
                0, "postTime", Constant.ORDER_DESC, 0, 1);
            if (l != null && !l.isEmpty()) {
              Forum lastF = (Forum) l.get(0);
              mainForum.setLastPostNickName(lastF.getNickName());
              mainForum.setLastPostTitle(lastF.getTitle());
              mainForum.setLastPostUserName(lastF.getUserName());
              mainForum.setLastTime(lastF.getPostTime());
            }
          }
          this.getForumDAO().saveForum(mainForum);
        }
      }
      if (board.getAddUserPostNum() == 1 && ui != null) { //版区为增加用户发帖数量
        ui.setArticleNum(ui.getArticleNum() - 1);
        ui = this.getUserInfoDAO().saveUserInfo(ui);
        this.getUserInfoFileIO().writeUserFile(ui);
      }
      if (forum.getElite() != 0 || forum.getCommend() != 0) {
        if (forum.getElite() != 0) {
          if (ui.getArticleEliteNum() >= 1) {
            ui.setArticleEliteNum(ui.getArticleEliteNum() - 1);
          }
          else {
            ui.setArticleEliteNum(0);
          }
          ui.setLiterary(ui.getLiterary() - 3);
        }
        if (forum.getCommend() != 0) {
          ui.setLiterary(ui.getLiterary() - 1);
          this.getCommendDAO().removeCommend(forum.getId());
        }

        ui = this.getUserInfoDAO().saveUserInfo(ui);
        this.getUserInfoFileIO().writeUserFile(ui);
      }
    }
    catch (Exception ex) {
      logger.error(ex);
      throw new BbscsException(ex);
    }
  }

  public void delPosts(List forums, Board board) throws BbscsException {
    for (int i = 0; i < forums.size(); i++) {
      try {
        Forum forum = (Forum) forums.get(i);
        forum = this.getForumDAO().saveForum(forum);
        if (forum.getIsNew() != 1) {
          Forum mainForum = this.getForumDAO().findForumByID(forum.getMainID(), forum.getBoardID());
          if (mainForum != null) {
            mainForum.setReNum(mainForum.getReNum() - 1);
            if (mainForum.getLastTime() == forum.getPostTime()) {
              List l = this.getForumDAO().findForumsTopic(mainForum.getBoardID(), mainForum.getId(), 0,
                  0, "postTime", Constant.ORDER_DESC, 0, 1);
              if (l != null && !l.isEmpty()) {
                Forum lastF = (Forum) l.get(0);
                mainForum.setLastPostNickName(lastF.getNickName());
                mainForum.setLastPostTitle(lastF.getTitle());
                mainForum.setLastPostUserName(lastF.getUserName());
                mainForum.setLastTime(lastF.getPostTime());
              }
            }
            this.getForumDAO().saveForum(mainForum);
          }
        }
        UserInfo ui = this.getUserInfoDAO().findUserInfoById(forum.getUserID());
        if (board.getAddUserPostNum() == 1 && ui != null) { //版区为增加用户发帖数量
          ui.setArticleNum(ui.getArticleNum() - 1);
          ui = this.getUserInfoDAO().saveUserInfo(ui);
          this.getUserInfoFileIO().writeUserFile(ui);
        }
        if (forum.getElite() != 0 || forum.getCommend() != 0) {
          if (forum.getElite() != 0) {
            if (ui.getArticleEliteNum() >= 1) {
              ui.setArticleEliteNum(ui.getArticleEliteNum() - 1);
            }
            else {
              ui.setArticleEliteNum(0);
            }
            ui.setLiterary(ui.getLiterary() - 3);
          }
          if (forum.getCommend() != 0) {
            ui.setLiterary(ui.getLiterary() - 1);
            this.getCommendDAO().removeCommend(forum.getId());
          }

          ui = this.getUserInfoDAO().saveUserInfo(ui);
          this.getUserInfoFileIO().writeUserFile(ui);
        }

      }
      catch (Exception ex) {
        logger.error(ex);
        throw new BbscsException(ex);
      }
    }
  }

  public void savePostElite(Forum forum, UserInfo ui) throws BbscsException {
    try {
      forum = this.getForumDAO().saveForum(forum);
      ui.setArticleEliteNum(ui.getArticleEliteNum() + 1);
      ui.setLiterary(ui.getLiterary() + 3);
      ui = this.getUserInfoDAO().saveUserInfo(ui);
      this.getUserInfoFileIO().writeUserFile(ui);
    }
    catch (Exception ex) {
      logger.error(ex);
      throw new BbscsException(ex);
    }
  }

  public void saveForums(List forums) throws BbscsException {
    for (int i = 0; i < forums.size(); i++) {
      Forum forum = (Forum) forums.get(i);
      try {
        this.getForumDAO().saveForum(forum);
      }
      catch (Exception ex) {
        logger.error(ex);
        throw new BbscsException(ex);
      }
    }
  }

  public void saveForumsEliteDel(List forums) throws BbscsException {
    for (int i = 0; i < forums.size(); i++) {
      Forum forum = (Forum) forums.get(i);
      try {
        forum = this.getForumDAO().saveForum(forum);
        UserInfo ui = this.getUserInfoDAO().findUserInfoById(forum.getUserID());
        if (ui.getArticleEliteNum() >= 1) {
          ui.setArticleEliteNum(ui.getArticleEliteNum() - 1);
        }
        else {
          ui.setArticleEliteNum(0);
        }
        ui.setLiterary(ui.getLiterary() - 5);
        ui = this.getUserInfoDAO().saveUserInfo(ui);
        this.getUserInfoFileIO().writeUserFile(ui);
      }
      catch (Exception ex) {
        logger.error(ex);
        throw new BbscsException(ex);
      }
    }
  }

  public Forum createVoteForum(Forum forum, Board board, Vote vote, UserInfo ui) throws BbscsException {
    try {
      String detail = forum.getDetail();
      forum.setDetail("");
      String[] details = detail.split("\n");

      vote = this.getVoteDAO().saveVote(vote);
      for (int i = 0; i < details.length; i++) {
        VoteItem vi = new VoteItem();
        vi.setItem(details[i]);
        vi.setItemValue(0);
        vi.setVoteID(vote.getId());
        this.getVoteItemDAO().saveVoteItem(vi);
      }
      forum.setVoteID(vote.getId());
      forum = this.getForumDAO().saveForum(forum);

      forum.setMainID(forum.getId());
      forum = this.getForumDAO().saveForum(forum);
      if (board.getAuditPost() == 0 && board.getAddUserPostNum() == 1) { //增加用户发帖数量
        ui.setArticleNum(ui.getArticleNum() + 1);
        ui = this.getUserInfoDAO().saveUserInfo(ui);
        this.getUserInfoFileIO().writeUserFile(ui);
      }
      if (forum.getEmailInform() != 0 || forum.getMsgInform() != 0) {
        if (this.getSubscibeDAO().findSubscibeByPostID(forum.getId(), ui.getId(), forum.getBoardID()) == null) {
          Subscibe subs = this.getSubscibeFactory().getInstance(forum.getBoardID());
          subs.setBoardID(forum.getBoardID());
          subs.setCreateTime(new Date());
          subs.setEmailinform(forum.getEmailInform());
          subs.setMsginform(forum.getMsgInform());
          subs.setNickName(ui.getNickName());
          subs.setPostID(forum.getId());
          subs.setPostTitle(forum.getTitle());
          subs.setUserEmail(ui.getEmail());
          subs.setUserID(ui.getId());
          subs.setUserName(ui.getUserName());
          this.getSubscibeDAO().saveSubscibe(subs);
        }
      }
      return forum;
    }
    catch (Exception ex) {
      logger.error(ex);
      throw new BbscsException(ex);
    }
  }

  /**
   * 搂主帖子数
   * @param userID String
   * @param mainID String
   * @return int
   */
  public int getForumOwnerNum(long bid, String userID, String mainID) {
    return this.getForumDAO().getForumNumInMainIDByUserID(bid, mainID, userID, -1, 0, 0);
  }

  /**
   * 只看楼主
   * @param userID String
   * @param mainID String
   * @param pages Pages
   * @return PageList
   */
  public PageList findForumsOwner(long bid, String userID, String mainID, Pages pages) {
    PageList pl = new PageList();
    if (pages.getTotalNum() == -1) {
      pages.setTotalNum(this.getForumOwnerNum(bid, userID, mainID));
    }
    //System.out.println(pages.getTotalNum());
    pages.executeCount();

    //System.out.println(pages.getTotalNum());

    List l = this.getForumDAO().findForumsInMainIDByUserID(bid, mainID, userID, -1, 0, 0, "postTime",
        Constant.ORDER_ASC, pages.getSpage(), pages.getPerPageNum());
    pl.setObjectList(l);
    pl.setPages(pages);
    return pl;
  }

  public void removeAttachFile(Forum forum, String[] fileNames) throws BbscsException {
    List fl = forum.getAttachFileName();
    String filePath = BBSCSUtil.getUpFilePath(forum.getBoardID(), forum.getPostTime());
    try {
      for (int i = 0; i < fileNames.length; i++) {
        File attachFile = new File(filePath + fileNames[i]);
        if (attachFile.exists()) {
          FileUtils.forceDelete(attachFile);
        }
        File attachFileSmall = new File(filePath + fileNames[i] + Constant.IMG_SMALL_FILEPREFIX);
        if (attachFileSmall.exists()) {
          FileUtils.forceDelete(attachFileSmall);
        }
        fl.remove(fileNames[i]);
      }
      forum.setAttachFileName(fl);
      this.getForumDAO().saveForum(forum);
    }
    catch (Exception ex) {
      logger.error(ex);
      throw new BbscsException(ex);
    }
  }

  public int getForumNumHotTopic(long bid, int reNum, int click) {
    return this.getForumDAO().getForumNumHotTopic(bid, reNum, click);
  }

  public PageList findForumsHotTopic(long bid, int reNum, int click, Pages pages) {
    PageList pl = new PageList();
    if (pages.getTotalNum() == -1) {
      pages.setTotalNum(this.getForumNumHotTopic(bid, reNum, click));
    }
    pages.executeCount();

    List l = this.getForumDAO().findForumsHotTopic(bid, reNum, click, pages.getSpage(), pages.getPerPageNum());
    pl.setObjectList(l);
    pl.setPages(pages);
    return pl;
  }

  public int getForumNumHotTopic(List bids, int reNum, int click) {
    return this.getForumDAO().getForumNumHotTopic(bids, reNum, click);
  }

  public PageList findForumsHotTopic(List bids, int reNum, int click, Pages pages) {
    PageList pl = new PageList();
    if (pages.getTotalNum() == -1) {

⌨️ 快捷键说明

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