📄 forumserviceimp.java
字号:
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 + -