📄 topicadminactionservice.java
字号:
List<Threadsmod> threadsmodList = new ArrayList<Threadsmod>();
threadsmodList.add(threadsmod);
((ThreadsmodDao)BeanFactory.getBean("threadsmodDao")).saveList(threadsmodList);
postsDao = null;
attachmentsDao = null;
return null;
}
public TopicSplitVO geTopicSplitVO(Map<String,Object> transfersMap){
Threads currentThread = (Threads)transfersMap.get("currentThread");
Forums currentForum = (Forums)transfersMap.get("currentforum");
String reasonpm = (String)transfersMap.get("reasonpm");
String[] modreasonsArray = ((String)transfersMap.get("modreasons")).split("\r\n");
List<Posts> postsList = (List<Posts>)transfersMap.get("postsList");
TopicSplitVO topicSplitVO = new TopicSplitVO();
setTopicPublicVO(topicSplitVO, currentForum, currentThread, reasonpm, modreasonsArray);
List<PostsInfo> postsInfoList = topicSplitVO.getPostsInfoList();
PostsInfo postsInfo = null;
for(Posts posts : postsList){
postsInfo = topicSplitVO.getPostsInfo();
postsInfo.setAuthor(posts.getAuthor());
postsInfo.setContent(posts.getMessage());
postsInfo.setPid(posts.getPid().toString());
postsInfoList.add(postsInfo);
}
postsInfo = null;
return topicSplitVO;
}
public String operatingSplit(Map<String,Object> transfersMap){
String fid = (String)transfersMap.get("fid");
Threads passiveThread = (Threads)transfersMap.get("passiveThread");
List<Posts> passivePostsList = (List<Posts>)transfersMap.get("postsList");
String subject = (String)transfersMap.get("subject");
Members currentMember = (Members)transfersMap.get("currentMember");
String operationE = "SPL";
Threads newThreads = new Threads();
newThreads.setSubject(subject);
newThreads.setFid(Short.valueOf(fid));
((ThreadsDao)BeanFactory.getBean("threadsDao")).addThread(newThreads);
newThreads = ((ThreadsDao)BeanFactory.getBean("threadsDao")).findByTid(newThreads.getTid());
PostsDao postsDao = ((PostsDao)BeanFactory.getBean("postsDao"));
StringBuffer postsIdBuffer = new StringBuffer();
int newThreadsId = newThreads.getTid();
for(Posts passivePosts : passivePostsList){
postsIdBuffer.append(passivePosts.getPid()+",");
}
DataBaseDao dataBaseDao = ((DataBaseDao)BeanFactory.getBean("dataBaseDao"));
if(postsIdBuffer.length()>0){
StringBuffer sqlBuffer = new StringBuffer("UPDATE "+tableprefix+"posts SET tid="+newThreadsId+" WHERE pid IN(");
sqlBuffer.append(postsIdBuffer);
int sqlBSize = sqlBuffer.length();
sqlBuffer.replace(sqlBSize-1, sqlBSize, ")");
dataBaseDao.execute(sqlBuffer.toString());
sqlBuffer = new StringBuffer("UPDATE "+tableprefix+"attachments SET tid="+newThreadsId+" WHERE pid IN(");
sqlBuffer.append(postsIdBuffer);
sqlBSize = sqlBuffer.length();
sqlBuffer.replace(sqlBSize-1, sqlBSize, ")");
dataBaseDao.execute(sqlBuffer.toString());
}
Posts newThreadFirstPosts = postsDao.getFirstPosts(newThreads.getTid());
newThreadFirstPosts.setFirst((byte)1);
newThreadFirstPosts.setSubject(subject);
postsDao.updatePosts(newThreadFirstPosts);
Posts oldThreadFirstPosts = postsDao.getFirstPosts(passiveThread.getTid());
passiveThread.setAuthor(oldThreadFirstPosts.getAuthor());
passiveThread.setAuthorid(oldThreadFirstPosts.getAuthorid());
passiveThread.setDateline(oldThreadFirstPosts.getDateline());
passiveThread.setModerated((byte)1);
passiveThread.setReplies(passiveThread.getReplies()-passivePostsList.size());
((ThreadsDao)BeanFactory.getBean("threadsDao")).updateThreads(passiveThread);
oldThreadFirstPosts.setSubject(passiveThread.getSubject());
oldThreadFirstPosts.setFirst((byte)1);
postsDao.updatePosts(oldThreadFirstPosts);
Posts newThreadLastPosts = postsDao.getLastPosts(newThreads.getTid());
newThreads.setAuthor(newThreadFirstPosts.getAuthor());
newThreads.setAuthorid(newThreadFirstPosts.getAuthorid());
newThreads.setDateline(newThreadFirstPosts.getDateline());
newThreads.setRate(newThreadFirstPosts.getRate()==0?(byte)0:(byte)(newThreadFirstPosts.getRate()/Math.abs(newThreadFirstPosts.getRate())));
newThreads.setModerated((byte)1);
newThreads.setLastpost(newThreadLastPosts.getDateline());
newThreads.setLastposter(newThreadLastPosts.getAuthor());
newThreads.setReplies(passivePostsList.size()-1);
((ThreadsDao)BeanFactory.getBean("threadsDao")).updateThreads(newThreads);
updateForumCount(fid, dataBaseDao);
List<Map<String,String>> tempML = dataBaseDao.executeQuery("SELECT name FROM "+tableprefix+"forums WHERE fid='"+fid+"'");
String currentForumsName = tempML!=null && tempML.size()>0 ? tempML.get(0).get("name") : "";
transfersMap.put("username", currentMember.getUsername());
transfersMap.put("adminId", currentMember.getAdminid());
transfersMap.put("uid", currentMember.getUid());
transfersMap.put("forumName", currentForumsName);
int timestamp = Common.time();
writeLog(transfersMap,currentForumsName, newThreads.getSubject(),newThreads.getTid()+"", operationE,timestamp);
writeLog(transfersMap,currentForumsName, passiveThread.getSubject(),passiveThread.getTid()+"", operationE,timestamp);
List<Threads> theradsList = new ArrayList<Threads>();
theradsList.add(passiveThread);
sendMessageToAuthor(transfersMap,currentForumsName, (String)transfersMap.get("url"), operationE, theradsList,(Float)transfersMap.get("timeoffset"));
Common.updatemodworks((Map<String,String>)transfersMap.get("settingMap"), currentMember.getUid(), timestamp, operationE, (short)1);
Threadsmod threadsmod = new Threadsmod();
ThreadsmodId threadsmodId = new ThreadsmodId();
threadsmodId.setAction(operationE);
threadsmodId.setDateline(timestamp);
threadsmodId.setExpiration(0);
threadsmodId.setMagicid((short)0);
threadsmodId.setStatus((byte)1);
threadsmodId.setTid(passiveThread.getTid());
threadsmodId.setUid(currentMember.getUid());
threadsmodId.setUsername(currentMember.getUsername());
threadsmod.setId(threadsmodId);
List<Threadsmod> threadsmodList = new ArrayList<Threadsmod>();
Threadsmod threadsmod2 = new Threadsmod();
ThreadsmodId threadsmodId2 = new ThreadsmodId();
threadsmodId2.setAction(operationE);
threadsmodId2.setDateline(timestamp);
threadsmodId2.setExpiration(0);
threadsmodId2.setMagicid((short)0);
threadsmodId2.setStatus((byte)1);
threadsmodId2.setTid(newThreads.getTid());
threadsmodId2.setUid(currentMember.getUid());
threadsmodId2.setUsername(currentMember.getUsername());
threadsmod2.setId(threadsmodId2);
threadsmodList.add(threadsmod);
threadsmodList.add(threadsmod2);
((ThreadsmodDao)BeanFactory.getBean("threadsmodDao")).saveList(threadsmodList);
postsDao = null;
return null;
}
public TopicCopyVO geTopicCopyVO(Map<String,Object> parameterMap){
String reasonpm = (String)parameterMap.get("reasonpm");
Short fid = Short.valueOf((String)parameterMap.get("fid"));
String tid = (String)parameterMap.get("tid");
String[] modreasonsArray = ((String)parameterMap.get("modreasons")).split("\r\n");
Forums forums = ((ForumsDao)BeanFactory.getBean("forumsDao")).findById(fid);
Threads threads = ((ThreadsDao)BeanFactory.getBean("threadsDao")).findByTid(Integer.valueOf(tid));
TopicCopyVO topicCopyVO = new TopicCopyVO();
setTopicPublicVO(topicCopyVO, forums, threads, reasonpm, modreasonsArray);
short groupid = (Short)parameterMap.get("groupid");
Members member = (Members)parameterMap.get("member");
topicCopyVO.setSelectContent(Common.forumselect(false, false,groupid,member!=null?member.getExtgroupids():"",null,false));
return topicCopyVO;
}
public String operatingCopy(Map<String,Object> parameterMap){
String operationE = "CPY";
Threads threads_old = (Threads)parameterMap.get("threads");
Forums targetForums = (Forums)parameterMap.get("targetForums");
Integer timestamp = Common.time();
DataBaseDao dataBaseDao = ((DataBaseDao)BeanFactory.getBean("dataBaseDao"));
String fid = (String)parameterMap.get("fid");
String currentForumName = dataBaseDao.executeQuery("SELECT name FROM "+tableprefix+"forums WHERE fid="+fid).get(0).get("name");
Threads threads_new = new Threads();
threads_new.setFid(targetForums.getFid());
threads_new.setDateline(timestamp);
threads_new.setLastpost(timestamp);
threads_new.setLastposter(threads_old.getAuthor());
threads_new.setViews(0);
threads_new.setReplies(0);
threads_new.setDisplayorder((byte)0);
threads_new.setDigest((byte)0);
threads_new.setAttachment(threads_old.getAttachment());
threads_new.setAuthor(threads_old.getAuthor());
threads_new.setAuthorid(threads_old.getAuthorid());
threads_new.setBlog(threads_old.getBlog());
threads_new.setClosed(threads_old.getClosed());
threads_new.setHighlight(threads_old.getHighlight());
threads_new.setIconid(threads_old.getIconid());
threads_new.setTypeid(threads_old.getTypeid());
threads_new.setSupePushstatus(threads_old.getSupePushstatus());
threads_new.setSubscribed(threads_old.getSubscribed());
threads_new.setSubject(threads_old.getSubject());
threads_new.setSpecial(threads_old.getSpecial());
threads_new.setReadperm(threads_old.getReadperm());
threads_new.setRate(threads_old.getRate());
threads_new.setPrice(threads_old.getPrice());
threads_new.setModerated(threads_old.getModerated());
threads_new.setItemid(threads_old.getItemid());
((ThreadsDao)BeanFactory.getBean("threadsDao")).addThread(threads_new);
PostsDao postsDao = ((PostsDao)BeanFactory.getBean("postsDao"));
Posts posts_old = postsDao.findByTid(threads_old.getTid());
posts_old.setPid(null);
posts_old.setFid(targetForums.getFid());
posts_old.setTid(threads_new.getTid());
posts_old.setDateline(timestamp);
postsDao.saveOrupdatePosts(posts_old);
updateForumCount(targetForums.getFid(), dataBaseDao);
writeLog(parameterMap,currentForumName, threads_old.getSubject(),threads_old.getTid()+"", operationE,timestamp);
List<Threads> threadsList = new ArrayList<Threads>();
threadsList.add(threads_old);
sendMessageToAuthor(parameterMap,currentForumName, (String)parameterMap.get("url"), operationE, threadsList,(Float)parameterMap.get("timeoffset"));
Integer currentUserId = (Integer)parameterMap.get("uid");
Common.updatemodworks((Map<String,String>)parameterMap.get("settingMap"), currentUserId, timestamp, operationE, (short)1);
Map<String,String> updateField = new HashMap<String, String>();
updateField.put("posts", "posts");
Members members = ((MembersDao)BeanFactory.getBean("memberDao")).findMemberById(currentUserId);
members.setPosts(members.getPosts()+1);
PostOperating postOperating = (PostOperating)BeanFactory.getBean("postOperating");
postOperating.setCredits((String)parameterMap.get("creditsformula"), members,updateField);
((MembersDao)BeanFactory.getBean("memberDao")).modifyMember(members);
postsDao = null;
return null;
}
public String operatingBanPost(Map<String,Object> parameterMap){
String banned = (String)parameterMap.get("banned");
DataBaseDao dataBaseDao = ((DataBaseDao)BeanFactory.getBean("dataBaseDao"));
Short fid = (Short)parameterMap.get("fid");
String currentForumName = dataBaseDao.executeQuery("SELECT name FROM "+tableprefix+"forums WHERE fid="+fid).get(0).get("name");
String operationE = null;
if(banned.equals("1")){
operationE = "BNP";
}else{
operationE = "UBN";
}
List<Posts> postsList = (List<Posts>)parameterMap.get("postsList");
Threads threads = (Threads)parameterMap.get("threads");
PostsDao postsDao = ((PostsDao)BeanFactory.getBean("postsDao"));
int timestamp = Common.time();
for(Posts posts : postsList){
posts.setStatus(Byte.valueOf(banned));
postsDao.updatePosts(posts);
writeLog(parameterMap,currentForumName, threads.getSubject(),threads.getTid()+"", operationE,timestamp);
}
postsDao = null;
sendMessageToAuthor_(parameterMap,currentForumName, (String)parameterMap.get("url"), operationE, postsList,(Float)parameterMap.get("timeoffset"));
return null;
}
public String operatingDelPost(Map<String,Object> parameterMap){
String operationE = "DLP";
Integer losslessdel = Integer.valueOf((String)parameterMap.get("losslessdel"));
Calendar calendar = Common.getGMTCalendar();
calendar.add(Calendar.DAY_OF_YEAR, -losslessdel);
Long nowSubtrationLoss = calendar.getTimeInMillis();
calendar = null;
PostsDao postsDao = ((PostsDao)BeanFactory.getBean("postsDao"));
String[] postIdArray = (String[])parameterMap.get("postIdArray");
List<Integer> postsIdList = new ArrayList<Integer>();
for(int i = 0;i<postIdArray.length;i++){
postsIdList.add(Integer.valueOf(postIdArray[i]));
}
List<Posts> tempList = postsDao.getPostsListByPidList(postsIdList);
postsDao.deletePosts(postsIdList);
Threads threads = (Threads)parameterMap.get("threads");
Integer threadRep = threads.getReplies()-postsIdList.size();
threads.setReplies(threadRep<0?0:threadRep);
Posts posts = postsDao.getLastPosts(threads.getTid());
if(posts!=null){
threads.setLastpost(posts.getDateline());
threads.setLastposter(posts.getAuthor());
}else{
System.out.println("IN TopicAdminActionService 错误-02");
}
((ThreadsDao)BeanFactory.getBean("threadsDao")).updateThreads(threads);
DataBaseDao dataBaseDao = ((DataBaseDao)BeanFactory.getBean("dataBaseDao"));
updateForumCount(threads.getFid(), dataBaseDao);
Map<String, String> updateField = new HashMap<String, String>();
updateField.put("posts", "posts");
String attachurl_realy = (String)parameterMap.get("attachurl_realy");
PostOperating postOperating = (PostOperating)BeanFactory.getBean("postOperating");
for(Posts posts_old : tempList){
Integer postsDateline = posts_old.getDateline();
boolean updateCredit = false;
if(losslessdel==0||nowSubtrationLoss<postsDateline*1000L){
updateCredit = true;
}
Forumfields forumfields = ((ForumfieldsDao)BeanFactory.getBean("forumfieldsDao")).findById((Short) parameterMap.get("fid"));
Members members_reply = ((MembersDao)BeanFactory.getBean("memberDao")).findMemberById(posts_old.getAuthorid());
if(members_reply!=null){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -