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

📄 forumserviceimp.java

📁 天乙虚拟社区8.05版本。只支持Mysql
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
package com.laoer.bbscs.service.imp;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.laoer.bbscs.bean.Board;
import com.laoer.bbscs.bean.Commend;
import com.laoer.bbscs.bean.Forum;
import com.laoer.bbscs.bean.ForumBuy;
import com.laoer.bbscs.bean.ForumHistory;
import com.laoer.bbscs.bean.Subscibe;
import com.laoer.bbscs.bean.UserInfo;
import com.laoer.bbscs.bean.Vote;
import com.laoer.bbscs.bean.VoteItem;
import com.laoer.bbscs.comm.BBSCSUtil;
import com.laoer.bbscs.comm.Constant;
import com.laoer.bbscs.comm.OrderObj;
import com.laoer.bbscs.comm.SysQueue;
//import com.laoer.bbscs.comm.Util;
import com.laoer.bbscs.dao.BoardDAO;
import com.laoer.bbscs.dao.CommendDAO;
import com.laoer.bbscs.dao.ForumBuyDAO;
import com.laoer.bbscs.dao.ForumDAO;
import com.laoer.bbscs.dao.SubscibeDAO;
import com.laoer.bbscs.dao.UserInfoDAO;
import com.laoer.bbscs.dao.VoteDAO;
import com.laoer.bbscs.dao.VoteItemDAO;
import com.laoer.bbscs.exception.BbscsException;
import com.laoer.bbscs.fio.CommendFileIO;
import com.laoer.bbscs.fio.ForumUploadFile;
import com.laoer.bbscs.fio.UploadFile;
import com.laoer.bbscs.fio.UserInfoFileIO;
import com.laoer.bbscs.service.Cache;
import com.laoer.bbscs.service.ForumService;
import com.laoer.bbscs.service.SubscibeFactory;
import com.laoer.bbscs.service.config.ForumConfig;
import com.laoer.bbscs.service.config.SysConfig;
import com.laoer.bbscs.service.web.PageList;
import com.laoer.bbscs.service.web.Pages;

public class ForumServiceImp implements ForumService {
    /**
     * Logger for this class
     */
    private static final Logger logger = Logger.getLogger(ForumServiceImp.class);

    private ForumDAO forumDAO;

    private UserInfoDAO userInfoDAO;

    private ForumUploadFile forumUploadFile;

    private Cache sysListObjCache;

    private SysConfig sysConfig;

    private UserInfoFileIO userInfoFileIO;

    private SubscibeFactory subscibeFactory;

    private SubscibeDAO subscibeDAO;

    private BoardDAO boardDAO;

    private SysQueue subscibeQueue;

    private ForumBuyDAO forumBuyDAO;

    private VoteDAO voteDAO;

    private VoteItemDAO voteItemDAO;

    private CommendDAO commendDAO;

    private CommendFileIO commendFileIO;

    private ForumDAO forumHistoryDAO;

    private ForumConfig forumConfig;

    private Cache postCache;

    public ForumDAO getForumDAO() {
        return forumDAO;
    }

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

    public UserInfoDAO getUserInfoDAO() {
        return userInfoDAO;
    }

    public void setUserInfoDAO(UserInfoDAO userInfoDAO) {
        this.userInfoDAO = userInfoDAO;
    }

    public ForumUploadFile getForumUploadFile() {
        return forumUploadFile;
    }

    public void setForumUploadFile(ForumUploadFile forumUploadFile) {
        this.forumUploadFile = forumUploadFile;
    }

    public Cache getSysListObjCache() {
        return sysListObjCache;
    }

    public void setSysListObjCache(Cache sysListObjCache) {
        this.sysListObjCache = sysListObjCache;
    }

    public SysConfig getSysConfig() {
        return sysConfig;
    }

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

    public SubscibeDAO getSubscibeDAO() {
        return subscibeDAO;
    }

    public void setSubscibeDAO(SubscibeDAO subscibeDAO) {
        this.subscibeDAO = subscibeDAO;
    }

    public SubscibeFactory getSubscibeFactory() {
        return subscibeFactory;
    }

    public void setSubscibeFactory(SubscibeFactory subscibeFactory) {
        this.subscibeFactory = subscibeFactory;
    }

    public UserInfoFileIO getUserInfoFileIO() {
        return userInfoFileIO;
    }

    public void setUserInfoFileIO(UserInfoFileIO userInfoFileIO) {
        this.userInfoFileIO = userInfoFileIO;
    }

    public BoardDAO getBoardDAO() {
        return boardDAO;
    }

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

    public SysQueue getSubscibeQueue() {
        return subscibeQueue;
    }

    public void setSubscibeQueue(SysQueue subscibeQueue) {
        this.subscibeQueue = subscibeQueue;
    }

    public ForumBuyDAO getForumBuyDAO() {
        return forumBuyDAO;
    }

    public void setForumBuyDAO(ForumBuyDAO forumBuyDAO) {
        this.forumBuyDAO = forumBuyDAO;
    }

    public VoteDAO getVoteDAO() {
        return voteDAO;
    }

    public void setVoteDAO(VoteDAO voteDAO) {
        this.voteDAO = voteDAO;
    }

    public VoteItemDAO getVoteItemDAO() {
        return voteItemDAO;
    }

    public void setVoteItemDAO(VoteItemDAO voteItemDAO) {
        this.voteItemDAO = voteItemDAO;
    }

    public CommendDAO getCommendDAO() {
        return commendDAO;
    }

    public void setCommendDAO(CommendDAO commendDAO) {
        this.commendDAO = commendDAO;
    }

    public CommendFileIO getCommendFileIO() {
        return commendFileIO;
    }

    public void setCommendFileIO(CommendFileIO commendFileIO) {
        this.commendFileIO = commendFileIO;
    }

    public ForumDAO getForumHistoryDAO() {
        return forumHistoryDAO;
    }

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

    public ForumConfig getForumConfig() {
        return forumConfig;
    }

    public void setForumConfig(ForumConfig forumConfig) {
        this.forumConfig = forumConfig;
    }

    public Cache getPostCache() {
        return postCache;
    }

    public void setPostCache(Cache postCache) {
        this.postCache = postCache;
    }

    public void createCommendPage(long commend) throws BbscsException {
        // TODO 自动生成方法存根

    }

    public Forum createForum(Forum forum) throws BbscsException {
        Board board = this.getBoardDAO().getBoardByID(forum.getBoardID());
        UserInfo ui = this.getUserInfoDAO().findUserInfoById(forum.getUserID());
        return createForum(forum, board, ui, null);
    }

    @SuppressWarnings("unchecked")
    public Forum createForum(Forum forum, Board board, UserInfo ui, UploadFile uploadFile) throws BbscsException {
        try {
            if (Constant.POST_STORAGE_MODE == 0) { //采用数据库方式存贮帖子
                forum = this.getForumDAO().saveOrUpdateForum(forum);
            } else {  //采用文件方式存贮帖子
                String detail = forum.getDetail();
                forum = this.getForumDAO().saveOrUpdateForum(forum);

                String postFileName = "P_" + forum.getBoardID() + "_" + forum.getId() + ".txt";
                File postFile = new File(this.getForumConfig().getForumPath(forum.getBoardID(), forum.getPostTime())
                        + postFileName);
                FileUtils.writeStringToFile(postFile, detail, Constant.CHARSET); //将帖子写入文件
                forum.setDetail(postFileName);
            }

            if (uploadFile != null) { //有上传文件
                String fileName = "File_" + forum.getId() + "_" + System.currentTimeMillis() + "."
                        + FilenameUtils.getExtension(uploadFile.getFileName());
                String toFilePath = BBSCSUtil.getUpFilePath(forum.getBoardID(), forum.getPostTime());
                this.getForumUploadFile().saveUploadFile(toFilePath + fileName, uploadFile, this.getSysConfig());
                forum.setHaveAttachFile(1);
                forum.getAttachFileName().add(fileName);
                if (board.getAuditAttach() == 1) {  //附件需要审核
                    forum.setAuditingAttachFile(1);
                }
            }
            forum.setMainID(forum.getId());
            forum = this.getForumDAO().saveOrUpdateForum(forum);
            //if (board.getAuditPost() == 0 && board.getAddUserPostNum() == 1) { // 不需要审核,并且版区为增加用户发帖数量
            if (forum.getAuditing() == 0 && board.getAddUserPostNum() == 1) { // 不需要审核,并且版区为增加用户发帖数量
                ui.setArticleNum(ui.getArticleNum() + 1);
                ui.setExperience(ui.getExperience() + 2); // 发帖增加经验值2点。add at
                // 2007.2.23
                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.setForum(forum);

                    subs.setUserEmail(ui.getEmail());
                    subs.setUserID(ui.getId());
                    subs.setUserName(ui.getUserName());

⌨️ 快捷键说明

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