Merge branch 'master' of 60.1.1.230:backend/jieling_server

back_recharge
wangyuan 2019-04-02 14:28:26 +08:00
commit b8907cded2
7 changed files with 28 additions and 16 deletions

View File

@ -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);

View File

@ -12,6 +12,7 @@ import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.handler.map.MapMission;
import com.ljsd.jieling.handler.mission.Mission;
import com.ljsd.jieling.logic.dao.Hero;
import com.ljsd.jieling.logic.dao.Mail;
import com.ljsd.jieling.logic.dao.root.User;
@ -90,19 +91,30 @@ public class GMRequestHandler extends BaseHandler{
SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(100 + prarm1);
Set<Integer> missionIds = new HashSet<>();
MapManager mapManager = cUser.getMapManager();
Map<Integer, MapMission> allMissionProgress = mapManager.getAllMissionProgress();
int curMapId = mapManager.getCurMapId();
if (scMapConfig != null) {
for (int i = 1; i <= prarm1; i++) {
int mapId = 100 + i;
SCMapConfig crossMap = SCMapConfig.getsCMapSize().get(mapId);
cUser.getPlayerInfoManager().setMapId(mapId);
if (crossMap.getOpenRule() != null && crossMap.getOpenRule().length > 0) {
missionIds.add(crossMap.getOpenRule()[0]);
}
initFininshMapMission(mapManager,mapId);
}
}
cUser.getPlayerInfoManager().setMapId(scMapConfig.getId());
SCMapConfig crossMap = SCMapConfig.getsCMapSize().get(scMapConfig.getId() + 1);
if (crossMap == null || crossMap.getOpenRule().length == 0) {
return;
}
Map<Integer, Mission> doingMissions = cUser.getMissionManager().getDoingMissions();
for (Integer key : doingMissions.keySet()) {
cUser.getMissionManager().removeDoingMissions(key);
}
Mission mission = new Mission();
mission.setMissionId(crossMap.getOpenRule()[0]);
mission.setMissionStep(0);
mission.setOpen(false);
cUser.getMissionManager().updateOneDoingMissions(crossMap.getOpenRule()[0], mission);
cUser.getMissionManager().updateFinishMissions(missionIds);
break;
default:

View File

@ -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

View File

@ -95,7 +95,7 @@ public class MapLogic {
return;
}
SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapId);
if (scMapConfig == null || scMapConfig.getOpenRule() == null) {
if (scMapConfig == null || scMapConfig.getOpenRule() == null || scMapConfig.getOpenRule().length == 0) {
LOGGER.info("enterMap() uid=>{} mapId=>{}, scMapConfig.getOpenRule()=>{}", uid, mapId, scMapConfig == null ? "" : scMapConfig.getOpenRule());
MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "");
return;

View File

@ -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");
}

View File

@ -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);
}

View File

@ -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<Integer> 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<String> 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<Integer,SystemMail> 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 {