📄 forumaction.java
字号:
package com.singnet.web.action.admin;
import java.util.Date;
import java.util.List;
import com.singnet.bean.NsBoard;
import com.singnet.bean.NsUserGroup;
import com.singnet.bean.NsForum;
import com.singnet.bean.NsUser;
import com.singnet.business.INsBoardService;
import com.singnet.business.INsForumService;
import com.singnet.dwr.INsUserProxy;
import com.singnet.dwr.INsUserGroupProxy;
import com.singnet.web.action.BaseAction;
public class ForumAction extends BaseAction
{
public static final String CONFIG = "config";
private NsForum forum;
private INsForumService nsForumService;
private INsBoardService nsBoardService;
private INsUserGroupProxy nsUserGroupProxy;
private INsUserProxy nsUserProxy;
private long parentID;
private List pageList;
private String userID;
private String[] visitIDs;
private String[] postIDs;
private String[] replyIDs;
@Override
public String execute() throws Exception
{
// TODO Auto-generated method stub
refindeForumInfo();
if(forum.getForumModerator() != null && forum.getForumModerator().trim().length() > 0) {
NsUser user = nsUserProxy.loadUser(forum.getForumModerator());
nsUserProxy.updateModerate(user);
}
nsForumService.saveOrUpdate(forum);
return SUCCESS;
}
@Override
public String doDefault() throws Exception
{
// TODO Auto-generated method stub
return INPUT;
}
public String showForumList() throws Exception
{
pageList = nsBoardService.findAll(NsBoard.class);
return LIST;
}
public String showForum() throws Exception
{
if(forumID > 0) {
forum = (NsForum) nsForumService.findByID(NsForum.class, forumID);
}
return VIEW;
}
public String updateModerator() throws Exception
{
if(forumID > 0 && userID.trim().length() > 0) {
NsUser user = nsUserProxy.loadUser(userID);
if(user != null) {
forum = (NsForum) nsForumService.findByID(NsForum.class, forumID);
forum.setForumModerator(userID);
nsForumService.saveOrUpdate(forum);
nsUserProxy.updateModerate(user);
}
else {
System.out.println("User is not Exist!");
}
}
else {
if(forumID > 0 && (userID == null || userID.trim().length() <= 0)) {
forum = (NsForum) nsForumService.findByID(NsForum.class, forumID);
if(forum != null) {
userID = forum.getForumModerator();
NsUser user = nsUserProxy.loadUser(userID);
nsUserProxy.releaseUserAdmin(user);
forum.setForumModerator(null);
nsForumService.saveOrUpdate(forum);
}
}
}
return SUCCESS;
}
public String goConfigForum() throws Exception
{
if(forumID > 0) {
forum = nsForumProxy.loadForum(forumID);
String visitStr = forum.getForumPermiss();
String postStr = forum.getForumPostAccess();
String replyStr = forum.getForumReplyAccess();
int flag = 0;
if(visitStr != null && visitStr.trim().length() > 0) {
visitIDs = getStringArray(visitStr);
flag++;
}
if(postStr != null && postStr.trim().length() > 0) {
postIDs = getStringArray(postStr);
flag++;
}
if(replyStr != null && replyStr.trim().length() > 0) {
replyIDs = getStringArray(replyStr);
flag++;
}
if(flag == 0) {
pageList = nsUserGroupProxy.findUserGroups();
}
}
return CONFIG;
}
public String doConfigForum() throws Exception
{
forum = nsForumProxy.loadForum(forumID);
if(forum != null) {
if(visitIDs != null) forum.setForumPermiss(getIDStr(visitIDs));
else forum.setForumPermiss(null);
if(postIDs != null) forum.setForumPostAccess(getIDStr(postIDs));
else forum.setForumPostAccess(null);
if(replyIDs != null) forum.setForumReplyAccess(getIDStr(replyIDs));
else forum.setForumReplyAccess(null);
nsForumService.saveOrUpdate(forum);
}
return SUCCESS;
}
public String updateForum() throws Exception
{
NsForum updateForum = nsForumProxy.loadForum(forum.getId().longValue());
updateForum.setForumDesp(forum.getForumDesp());
if(!updateForum.getForumModerator().equals(forum.getForumModerator())) {
NsUser user = nsUserProxy.loadUser(forum.getForumModerator());
if(user != null) {
nsUserProxy.updateModerate(user);
}
else {
updateForum.setForumModerator(null);
}
}
updateForum.setForumName(forum.getForumName());
updateForum.setForumOrder(forum.getForumOrder());
updateForum.setForumVisit(forum.getForumVisit());
updateForum.setForumState(forum.getForumState());
if(updateForum.getParentBoard().getId().longValue() != parentID) {
NsBoard board = (NsBoard) nsBoardService.findByID(NsBoard.class, parentID);
if(null != board) {
forum.setParentBoard(board);
board.addToforumList(forum);
}
}
nsForumService.saveOrUpdate(updateForum);
forum = null;
return SUCCESS;
}
private void refindeForumInfo()
{
forum.setForumCtime(new Date());
forum.setForumCount(new Long(0));
NsBoard board = (NsBoard) nsBoardService.findByID(NsBoard.class, parentID);
if(null != board) {
forum.setParentBoard(board);
board.addToforumList(forum);
//nsBoardService.saveOrUpdate(board);
}
}
public String delForum() throws Exception
{
if(forumID > 0) {
forum = (NsForum) nsForumService.findByID(NsForum.class, forumID);
if(forum != null) {
nsForumService.remove(forum);
pageList = nsForumService.findAll(NsForum.class);
return LIST;
}
}
return ERROR;
}
private String[] getStringArray(String target)
{
if(target != null && target.trim().length() > 0) {
pageList = nsUserGroupProxy.findUserGroups();
String[] result = new String[pageList.size()];
String[] targetArray = target.split(",");
for(int i = 0; i < pageList.size(); i++) {
NsUserGroup group = (NsUserGroup) pageList.get(i);
if(isInArray(targetArray, String.valueOf(group.getId().longValue())))
result[i] = "true";
else
result[i] = "false";
}
return result;
}
return null;
}
private boolean isInArray(String[] arr, String tag)
{
for(String s : arr) {
if(tag.equals(s)) return true;
}
return false;
}
private String getIDStr(String[] arr)
{
StringBuffer buffer = new StringBuffer();
buffer.append(arr[0]);
for(int i = 1; i < arr.length; i++) {
buffer.append(",");
buffer.append(arr[i]);
}
return buffer.toString();
}
public NsForum getForum()
{
return forum;
}
public void setForum(NsForum forum)
{
this.forum = forum;
}
public List getPageList()
{
return pageList;
}
public void setNsForumService(INsForumService nsForumService)
{
this.nsForumService = nsForumService;
}
public void setParentID(long parentID)
{
this.parentID = parentID;
}
public void setNsBoardService(INsBoardService nsBoardService)
{
this.nsBoardService = nsBoardService;
}
public String getUserID()
{
return userID;
}
public void setUserID(String userID)
{
this.userID = userID;
}
public void setNsUserProxy(INsUserProxy nsUserProxy)
{
this.nsUserProxy = nsUserProxy;
}
public String[] getPostIDs()
{
return postIDs;
}
public void setPostIDs(String[] postIDs)
{
this.postIDs = postIDs;
}
public String[] getReplyIDs()
{
return replyIDs;
}
public void setReplyIDs(String[] replyIDs)
{
this.replyIDs = replyIDs;
}
public String[] getVisitIDs()
{
return visitIDs;
}
public void setVisitIDs(String[] visitIDs)
{
this.visitIDs = visitIDs;
}
public void setNsUserGroupProxy(INsUserGroupProxy nsUserGroupProxy)
{
this.nsUserGroupProxy = nsUserGroupProxy;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -