diff --git a/serverlogic/src/main/java/com/ljsd/GameApplication.java b/serverlogic/src/main/java/com/ljsd/GameApplication.java index 04e0f916c..860a2f631 100644 --- a/serverlogic/src/main/java/com/ljsd/GameApplication.java +++ b/serverlogic/src/main/java/com/ljsd/GameApplication.java @@ -74,8 +74,8 @@ public class GameApplication { MongoUtil.getInstence().init(configurableApplicationContext); STableManager.initialize("com.ljsd.jieling.config"); - -// MailingSystemManager.init(configurableApplicationContext); + //初始化邮件 + MailingSystemManager.init(configurableApplicationContext); ThreadManager threadManager = new ThreadManager(); threadManager.init(configurableApplicationContext); MapLogic.getInstance().init(configurableApplicationContext); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/ReadMailHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/ReadMailHandler.java index 4d6f4df64..09e5f084e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/ReadMailHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/ReadMailHandler.java @@ -16,7 +16,7 @@ public class ReadMailHandler extends BaseHandler { @Override public MessageTypeProto.MessageType getMessageCode() { - return MessageTypeProto.MessageType.GET_ALL_MAIL_INFO_REQUEST; + return MessageTypeProto.MessageType.MAIL_READ_REQUEST; } @Override 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 32c9b665e..a88ef4f77 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 @@ -6,6 +6,7 @@ import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.logic.dao.root.MailingSystem; import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.util.TimeUtils; +import javafx.application.Application; import org.springframework.context.ConfigurableApplicationContext; import java.util.ArrayList; @@ -25,7 +26,7 @@ public class MailingSystemManager { mailingSystem = new MailingSystem(); addMailingSystem(mailingSystem); int nowTime = (int)(TimeUtils.now()/1000); - mailingSystem.getSysMailManager().addSystemMail(new SysMail(1)); + mailingSystem.getSysMailManager().addSystemMail(new SysMail(GameApplication.serverId)); // MailingSystemManager.ljsdMongoTemplate.lastUpdate(); MailLogic.getInstance().sendSystemMail("开服邮件",new ArrayList<>(),"DSKGSD",nowTime,"1#5000|2#100",30*24*60*60,"IDIP",0,"0"); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/SystemMailManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/SystemMailManager.java index 252544a34..ded8d8f0b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/SystemMailManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/SystemMailManager.java @@ -19,6 +19,7 @@ public class SystemMailManager extends MongoBase { } public void addSystemMail(SystemMail systemMail) throws Exception { + systemMail.init(this.getRootId(), getMongoKey() + ".systemMailMap." + systemMail.getId()); updateString("systemMailMap." + systemMail.getId(), systemMail); systemMailMap.put(systemMail.getId(),systemMail); } 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 dcb5db2b1..43dfa4a1e 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 @@ -1,5 +1,6 @@ package com.ljsd.jieling.logic.mail; +import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.MailingSystem; @@ -83,9 +84,6 @@ public class MailLogic { List sysMailIds = sysMail.getSysMailIds(); for (SystemMail systemMail:systemMailList){ int systemId = systemMail.getId(); - if (systemMail.getUserList().size() !=0 || !systemMail.getUserList().contains(userId)){ - continue; - } if (sysMailIds.contains(systemId)){ continue; } @@ -94,7 +92,7 @@ public class MailLogic { } String[] split = systemMail.getVersion().split(","); Set version = new HashSet<>(Arrays.asList(split)); - if (!version.contains(clientVersion) || !"0".equals(systemMail.getVersion())) { + if (!version.contains(clientVersion) && !"0".equals(systemMail.getVersion())) { continue; } sysMailIds.add(systemId); @@ -124,8 +122,8 @@ public class MailLogic { int nowTime = (int)(TimeUtils.now()/1000); for (Map.Entry entry:systemMailMap.entrySet()){ SystemMail systemMail = entry.getValue(); - int time = nowTime + systemMail.getEffectiveTime(); - if (systemMail.getEffectiveTime() !=0 || nowTime > time){ + int time = systemMail.getSendTime() + systemMail.getEffectiveTime(); + if (systemMail.getEffectiveTime() !=0 && nowTime > time){ continue; } systemMailsList.add(systemMail); @@ -141,7 +139,7 @@ public class MailLogic { // 读取邮件 public void readMail(ISession iSession, String mailId) throws Exception { - int msgId = MessageTypeProto.MessageType.GET_ALL_MAIL_INFO_RESPONSE_VALUE; + int msgId = MessageTypeProto.MessageType.MAIL_READ_RESPONSE_VALUE; int uid = iSession.getUid(); User user = UserManager.getUser(uid); MailManager mailManager = user.getMailManager(); @@ -189,7 +187,7 @@ public class MailLogic { SystemMailManager systemMailManager = mailingSystem.getSystemMailManager(); int id = getSystemMailId(autoIncrementManager,name); systemMailManager.addSystemMail(new SystemMail(id,title,userList,content,sendTime,reward,effectiveTime,sendName,registerEndTime,version)); -// MailingSystemManager.ljsdMongoTemplate.lastUpdate(); + MongoUtil.getInstence().lastUpdate(); } private static int getSystemMailId(AutoIncrementManager autoIncrementManager,String name) throws Exception {