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

📄 topicadminactionservice.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		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 + -