公会检测修改
parent
ef472bdbd2
commit
f8e47dd12b
|
@ -34,6 +34,7 @@ public class ThreadManager implements IManager {
|
|||
private static Set<Future<?>> scheduledFutureSets = new HashSet<>();
|
||||
|
||||
private static volatile ScheduledThreadPoolExecutor scheduledExecutor; //管理task
|
||||
private static volatile ThreadPoolExecutor executor;//用于异步处理服务器流程 例如发奖 处理每日公会 这种任务
|
||||
|
||||
public void init() {
|
||||
|
||||
|
@ -52,6 +53,7 @@ public class ThreadManager implements IManager {
|
|||
scheduledExecutor = new ScheduledThreadPoolExecutor(8, new ScheduleThreadFactory());
|
||||
scheduledExecutor.setExecuteExistingDelayedTasksAfterShutdownPolicy(false);
|
||||
scheduledExecutor.setContinueExistingPeriodicTasksAfterShutdownPolicy(false);
|
||||
executor = (ThreadPoolExecutor)Executors.newFixedThreadPool(4);
|
||||
go();
|
||||
}
|
||||
|
||||
|
@ -151,4 +153,8 @@ public class ThreadManager implements IManager {
|
|||
go();
|
||||
}
|
||||
|
||||
public static void commitGeneralTask(GeneralTask task){
|
||||
executor.execute(task);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package com.ljsd.jieling.thread.task;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface GeneralTask {
|
||||
public interface GeneralTask extends Runnable{
|
||||
|
||||
void run();
|
||||
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
package com.ljsd.jieling.thread.task;
|
||||
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildInfo;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import config.SErrorCodeEerverConfig;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
@ -17,12 +20,12 @@ import java.util.concurrent.TimeUnit;
|
|||
* @date 2021/1/27
|
||||
* @discribe
|
||||
*/
|
||||
public class GuildchangeTask implements GeneralTask{
|
||||
public class GuildChangeTask implements GeneralTask{
|
||||
private Set<Integer> chairmanChangeGuilds;
|
||||
|
||||
private Set<Integer> releaseGuilds;
|
||||
|
||||
public GuildchangeTask(Set<Integer> chairmanChangeGuilds, Set<Integer> releaseGuilds) {
|
||||
public GuildChangeTask(Set<Integer> chairmanChangeGuilds, Set<Integer> releaseGuilds) {
|
||||
this.chairmanChangeGuilds = chairmanChangeGuilds;
|
||||
this.releaseGuilds = releaseGuilds;
|
||||
}
|
||||
|
@ -58,6 +61,45 @@ public class GuildchangeTask implements GeneralTask{
|
|||
guildInfo.addMembers(GlobalsDef.CHAIRMAN,compareValue.getUid());
|
||||
guildInfo.removeMember(type,compareValue.getUid());
|
||||
guildInfo.addMembers(GlobalsDef.MEMBER,chairMan);
|
||||
try {
|
||||
User user = UserManager.getUser(compareValue.getUid());
|
||||
//发送邮件 GuildLeaderPass_mail_title
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("GuildLeaderPass_mail_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("GuildLeaderPass_mail_content", new Object[]{user.getPlayerInfoManager().getNickName()});
|
||||
sendMailToGuild(guildInfo,title,content,(int)(now/1000));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if(releaseGuilds!=null&&releaseGuilds.size()>0){
|
||||
Iterator<Integer> iterator = releaseGuilds.iterator();
|
||||
while(iterator.hasNext()){
|
||||
int next = iterator.next();
|
||||
try {
|
||||
//发邮件
|
||||
GuildInfo guildInfo = guildInfoMap.get(next);
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("GuildDismiss_mail_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("GuildDismiss_mail_content", new Object[]{guildInfo.getName()});
|
||||
sendMailToGuild(guildInfo,title,content,(int)(now/1000));
|
||||
GuilidManager.removeGuildInfo(guildInfo);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void sendMailToGuild(GuildInfo info,String title,String content,int sendTime){
|
||||
Map<Integer, Set<Integer>> members = info.getMembers();
|
||||
for(Map.Entry<Integer, Set<Integer>> entry:members.entrySet()){
|
||||
for(int uid:entry.getValue()){
|
||||
try {
|
||||
MailLogic.getInstance().sendMail(uid,title,content,"",sendTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
package com.ljsd.jieling.thread.task;
|
||||
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildInfo;
|
||||
|
@ -94,5 +93,7 @@ public class GuildCheckOfflineTask implements GeneralTask {
|
|||
}
|
||||
releaseGuilds.add(entry.getKey());
|
||||
}
|
||||
|
||||
ThreadManager.commitGeneralTask(new GuildChangeTask(chairmanChangeGuilds,releaseGuilds));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ import com.ljsd.jieling.logic.question.QuestionLogic;
|
|||
import com.ljsd.jieling.logic.store.BuyGoodsLogic;
|
||||
import com.ljsd.jieling.logic.store.StoreLogic;
|
||||
import com.ljsd.jieling.network.server.ProtocolsManager;
|
||||
import com.ljsd.jieling.thread.ThreadManager;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import io.netty.util.internal.PlatformDependent;
|
||||
import manager.STableManager;
|
||||
|
@ -232,7 +233,9 @@ public class MinuteTask extends Thread {
|
|||
|
||||
|
||||
LOGGER.info("DailyOfFiveTask start ...");
|
||||
|
||||
GlobalDataManaager.everTask(0);
|
||||
ThreadManager.commitGeneralTask(new GuildCheckOfflineTask());
|
||||
LOGGER.info("DailyOfFiveTask end ...");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue