📄 topicadminactionservice.java
字号:
Threadsmod threadsmod = null;
ThreadsmodId threadsmodId = null;
StringBuffer tidBuffer = new StringBuffer();
for(Threads threads_old : threadsList){
Integer tid = threads_old.getTid();
tidBuffer.append(tid+",");
threadsmod = new Threadsmod();
threadsmodId = new ThreadsmodId();
threadsmodId.setAction(operationE);
threadsmodId.setDateline(timestamp);
threadsmodId.setExpiration(0);
threadsmodId.setMagicid((short)0);
threadsmodId.setStatus((byte)1);
threadsmodId.setTid(tid);
threadsmodId.setUid((Integer)parameterMap.get("uid"));
threadsmodId.setUsername((String)parameterMap.get("username"));
threadsmod.setId(threadsmodId);
threadsmodList.add(threadsmod);
writeLog(parameterMap,currentForumName, threads_old.getSubject(),threads_old.getTid()+"", operationE,timestamp);
}
threadsmod = null;
threadsmodId = null;
if(tidBuffer.length()>0){
StringBuffer sqlBuffer = new StringBuffer("UPDATE "+tableprefix+"threads AS t SET t.typeid="+parameterMap.get("typeId")+", t.moderated=1 WHERE t.tid IN(");
sqlBuffer.append(tidBuffer);
int sqlBSize = sqlBuffer.length();
sqlBuffer.replace(sqlBSize-1, sqlBSize, ")");
((DataBaseDao)BeanFactory.getBean("dataBaseDao")).execute(sqlBuffer.toString());
sqlBuffer = null;
}
tidBuffer = null;
sendMessageToAuthor(parameterMap,currentForumName, (String)parameterMap.get("url"), operationE, threadsList,(Float)parameterMap.get("timeoffset"));
((ThreadsmodDao)BeanFactory.getBean("threadsmodDao")).saveList(threadsmodList);
threadsmodList = null;
Common.updatemodworks((Map<String,String>)parameterMap.get("settingMap"), (Integer)parameterMap.get("uid"), timestamp, operationE, (short)threadsList.size());
operationE = null;
threadsList = null;
return null;
}
private String operating_digest(Map<String,Object> parameterMap){
String[] moderate_ = (String[])parameterMap.get("moderate_");
if(moderate_==null){
return "对不起,您没有选择主题或者无法操作特殊主题,请返回修改。";
}
String expiration = (String)parameterMap.get("expiration");
float timeoffset = (Float)parameterMap.get("timeoffset");
Integer expirationInteger = validateExpiration(expiration==null?"":expiration,timeoffset);
expiration = null;
if(expirationInteger==null){
return "您设置的有效期限超出系统允许的范围或格式不正确,请返回修改。";
}
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");
String level = (String)parameterMap.get("level");
String operationE = null;
if(level.equals("0")){
operationE = "UDG";
}else{
if(expirationInteger==0){
operationE = "DIG";
}else{
operationE = "EDI";
}
}
List<Threads> threadsList = getThreadsList(moderate_);
List<Threadsmod> threadsmodList = new ArrayList<Threadsmod>();
Map<String,String> updateField = new HashMap<String, String>();
updateField.put("digestposts", "digestposts");
MembersDao memberDao = ((MembersDao)BeanFactory.getBean("memberDao"));
PostOperating postOperating = (PostOperating)BeanFactory.getBean("postOperating");
Forumfields forumfields = ((ForumfieldsDao)BeanFactory.getBean("forumfieldsDao")).findById(Short.valueOf(fid));
byte levelByte = Byte.parseByte(level);
String creditspolicy = (String) parameterMap.get("creditspolicy");
String creditsformula = (String)parameterMap.get("creditsformula");
int timestamp = Common.time();
StringBuffer updateThreadsId = new StringBuffer();
for(Threads threads_old : threadsList){
Integer tid = threads_old.getTid();
byte digest = threads_old.getDigest();
updateThreadsId.append(tid+",");
if(Byte.parseByte(level)!=digest){
Members members = memberDao.findMemberById(threads_old.getAuthorid());
if(members!=null){
postOperating.setMembersExtcredit(forumfields, creditspolicy, members, updateField, postOperating.stick,true,levelByte-digest);
if(digest==0&&Byte.valueOf(level)!=0){
members.setDigestposts((short)(members.getDigestposts()+1));
}else if(digest!=0&&Byte.valueOf(level)==0){
members.setDigestposts((short)(members.getDigestposts()-1));
}
postOperating.setCredits(creditsformula, members,updateField);
memberDao.modifyMember(members);
}
}
Threadsmod threadsmod = new Threadsmod();
ThreadsmodId threadsmodId = new ThreadsmodId();
threadsmodId.setAction(operationE);
threadsmodId.setDateline(timestamp);
threadsmodId.setExpiration(expirationInteger);
threadsmodId.setMagicid((short)0);
threadsmodId.setStatus((byte)1);
threadsmodId.setTid(tid);
threadsmodId.setUid((Integer)parameterMap.get("uid"));
threadsmodId.setUsername((String)parameterMap.get("username"));
threadsmod.setId(threadsmodId);
threadsmodList.add(threadsmod);
writeLog(parameterMap,currentForumName, threads_old.getSubject(),threads_old.getTid()+"", operationE,timestamp);
}
creditspolicy = null;
creditsformula = null;
expirationInteger = null;
updateField = null;
memberDao = null;
postOperating = null;
forumfields = null;
if(updateThreadsId.length()!=0){
StringBuffer sqlBuffer = new StringBuffer("UPDATE "+tableprefix+"threads AS t SET t.digest="+level+", t.moderated=1 WHERE t.tid IN(");
sqlBuffer.append(updateThreadsId);
int sqlL = sqlBuffer.length();
sqlBuffer.replace(sqlL-1, sqlL, ")");
dataBaseDao.execute(sqlBuffer.toString());
sqlBuffer = new StringBuffer("UPDATE "+tableprefix+"threadsmod SET status=0 WHERE tid IN(");
sqlBuffer.append(updateThreadsId);
sqlL = sqlBuffer.length();
sqlBuffer.replace(sqlL-1, sqlL, ")");
sqlBuffer.append(" AND action in ('DIG', 'UDI', 'EDI', 'UED') AND status=1");
dataBaseDao.execute(sqlBuffer.toString());
sqlBuffer = null;
dataBaseDao = null;
}
level = null;
updateThreadsId = null;
sendMessageToAuthor(parameterMap,currentForumName, (String)parameterMap.get("url"), operationE, threadsList,(Float)parameterMap.get("timeoffset"));
((ThreadsmodDao)BeanFactory.getBean("threadsmodDao")).saveList(threadsmodList);
threadsmodList = null;
Common.updatemodworks((Map<String,String>)parameterMap.get("settingMap"), (Integer)parameterMap.get("uid"), timestamp, operationE, (short)threadsList.size());
threadsList = null;
operationE = null;
return null;
}
private String operating_delete(Map<String, Object> parameterMap) {
PostsDao postsDao = ((PostsDao)BeanFactory.getBean("postsDao"));
if (parameterMap.get("moderate_") == null) {
return "对不起,您没有选择主题或者无法操作特殊主题,请返回修改。";
}
String expiration = (String)parameterMap.get("expiration");
float timeoffset = (Float)parameterMap.get("timeoffset");
Integer expirationInteger = validateExpiration(expiration==null?"":expiration,timeoffset);
expiration = null;
if(expirationInteger==null){
return "您设置的有效期限超出系统允许的范围或格式不正确,请返回修改。";
}
String operationE = expirationInteger==0?"DEL":"TDEL";
Map<String, String> updateField = new HashMap<String, String>();
Map<String, String> updateField_posts = new HashMap<String, String>();
updateField.put("posts", "posts");
updateField_posts.put("posts", "posts");
List<Threads> threadsList = getThreadsList((String[])parameterMap.get("moderate_"));
List<Threadsmod> threadsmodList = new ArrayList<Threadsmod>();
Forums forums = null;
Short fid = Short.valueOf((String)parameterMap.get("fid"));
if(fid==null&&threadsList.size()>0){
fid = threadsList.get(0).getFid();
}
if(fid!=null){
forums = ((ForumsDao)BeanFactory.getBean("forumsDao")).findById(fid);
}
if(forums==null){
return "错误--03.ON 1817";
}
byte invisble = forums.getRecyclebin();
String currentForumName = forums.getName();
DataBaseDao dataBaseDao = ((DataBaseDao)BeanFactory.getBean("dataBaseDao"));
PostOperating postOperating = (PostOperating)BeanFactory.getBean("postOperating");
Forumfields forumfields = ((ForumfieldsDao)BeanFactory.getBean("forumfieldsDao")).findById(fid);
MembersDao membersDao = ((MembersDao)BeanFactory.getBean("memberDao"));
Map<String,String> tid_delThreadMap = new HashMap<String, String>();
Map<String,String> tid_moveThreadMap = new HashMap<String, String>();
List<Map<String,String>> resultMapList = dataBaseDao.executeQuery("SELECT tid,action FROM "+tableprefix+"threadsmod WHERE status=1 AND (action='TDEL' OR action REGEXP '^[m|r][0-9]+$')");
for(Map<String,String> temp : resultMapList){
if(temp.get("action").equals("TDEL")){
tid_delThreadMap.put(temp.get("tid"),"");
}else{
tid_moveThreadMap.put(temp.get("tid"), "");
}
}
int losslessdel = Integer.parseInt((String)parameterMap.get("losslessdel"));
Calendar calendar = Common.getGMTCalendar();
calendar.add(Calendar.DAY_OF_YEAR, -losslessdel);
Long nowSubtrationLoss = calendar.getTimeInMillis();
calendar = null;
int timestamp = Common.time();
String attachurl_realy = (String)parameterMap.get("attachurl_realy");
String creditsformula = (String) parameterMap.get("creditsformula");
int tid = 0;
boolean updateCredit = false;
boolean updateCredit_post = false;
int tempPostNum = 0;
Posts postsTemp = null;
List<Posts> postsList = null;
StringBuffer tidBuffer = new StringBuffer();
StringBuffer pidBuffer = new StringBuffer();
List<Integer> postsIdList = new ArrayList<Integer>();
for (Threads threads_old : threadsList) {
tid = threads_old.getTid();
if(tid_delThreadMap.get(String.valueOf(tid))!=null){
dataBaseDao.executeDelete("DELETE FROM "+tableprefix+"threadsmod WHERE status=1 AND action='TDEL' AND tid="+tid);
}
if(tid_moveThreadMap.get(String.valueOf(tid))!=null){
dataBaseDao.execute("UPDATE "+tableprefix+"threadsmod SET status=0 WHERE tid="+tid+" AND status=1 AND action REGEXP '^[m|r][0-9]+$'");
}
if(expirationInteger==0){
updateCredit = losslessdel==0||nowSubtrationLoss<threads_old.getDateline()*1000L;
tidBuffer.append(tid+",");
Members members = membersDao.findMemberById(threads_old.getAuthorid());
if(members!=null){
if (threads_old.getDigest() != 0) {
updateField.put("digestposts", "digestposts");
postOperating.setMembersExtcredit(forumfields, (String) parameterMap.get("creditspolicy"), members, updateField, postOperating.stick, false,1);
members.setDigestposts((short) (members.getDigestposts() - 1));
}
tempPostNum = members.getPosts() - 1;
members.setPosts(tempPostNum>0?tempPostNum:0);
if(updateCredit){
postOperating.setMembersExtcredit(forumfields, (String) parameterMap.get("creditspolicy"), members, updateField, postOperating.posts, false,1);
}
postsTemp = postsDao.findByTid(tid);
if(postsTemp!=null){
Integer threadPid = postsTemp.getPid();
operatingAttachment(threadPid, attachurl_realy, forumfields, parameterMap, members, updateField,invisble == 0,updateCredit);
}
postOperating.setCredits(creditsformula, members,updateField);
membersDao.modifyMember(members);
}
postsList = postsDao.getPostsListByTid(tid);
for (Posts posts : postsList) {
postsIdList.add(posts.getPid());
updateCredit_post = losslessdel==0||nowSubtrationLoss<posts.getDateline()*1000L;
pidBuffer.append(posts.getPid()+",");
if (posts.getFirst().byteValue()==1) {
continue;
} else {
Members members_reply = ((MembersDao)BeanFactory.getBean("memberDao")).findMemberById(posts.getAuthorid());
if(members_reply!=null){
members_reply.setPosts(members_reply.getPosts() >= 1?members_reply.getPosts() - 1:0);
if(updateCredit_post){
postOperating.setMembersExtcredit(forumfields, (String) parameterMap.get("creditspolicy"), members_reply, updateField, postOperating.reply, false,1);
}
operatingAttachment(posts.getPid(), attachurl_realy, forumfields,parameterMap, members_reply, updateField,invisble == 0,updateCredit_post);
postOperating.setCredits((String) parameterMap.get("creditsformula"),members_reply, updateField_posts);
((MembersDao)BeanFactory.getBean("memberDao")).modifyMember(members_reply);
}
}
}
}
if (expirationInteger!=0||invisble != 0) {
Threadsmod threadsmod = new Threadsmod();
ThreadsmodId threadsmodId = new ThreadsmodId();
threadsmodId.setAction(operationE);
threadsmodId.setDateline(timestamp);
threadsmodId.setExpiration(expirationInteger);
threadsmodId.setMagicid((short) 0);
threadsmodId.setStatus((byte) 1);
threadsmodId.setTid(tid);
threadsmodId.setUid((Integer) parameterMap.get("uid"));
threadsmodId.setUsername((String) parameterMap.get("username"));
threadsm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -