diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/MailingSystemManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/MailingSystemManager.java index 078a1c0e6..6e3c8bbdc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/MailingSystemManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/MailingSystemManager.java @@ -16,8 +16,8 @@ import java.util.concurrent.ConcurrentHashMap; public class MailingSystemManager { private static Map mailingSystemMap = new ConcurrentHashMap<>(); - - + private static long preLoadTime = 0; + private static long resetTime = 60*1000; public static void init(ConfigurableApplicationContext configurableApplicationContext) throws Exception { //TODO 测试用 //初始化系统邮件信息 @@ -43,7 +43,13 @@ public class MailingSystemManager { return mailingSystemMap.containsKey(id); } - public static MailingSystem getMailingSystem() { + public static MailingSystem getMailingSystem() throws Exception { + long now = System.currentTimeMillis(); + if (now - preLoadTime > resetTime){ + MailingSystem mailingSystem = MongoUtil.getInstence().getMyMongoTemplate().findById(MailingSystem.getCollectionName(), GameApplication.serverId, MailingSystem.class); + mailingSystemMap.put(GameApplication.serverId,mailingSystem); + preLoadTime = now; + } return mailingSystemMap.get(GameApplication.serverId); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java index 712670013..1e8183fb6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java @@ -117,7 +117,7 @@ public class MailLogic { * 获取所有系统邮件 * */ - private List getSystemMail() { + private List getSystemMail() throws Exception { MailingSystem mailingSystem = MailingSystemManager.getMailingSystem(); SystemMailManager systemMailManager = mailingSystem.getSystemMailManager(); Map systemMailMap = systemMailManager.getSystemMailMap();