From 452462606d872774a50e35741fd4fd7521d392e3 Mon Sep 17 00:00:00 2001 From: jiahuiwen Date: Sat, 30 Oct 2021 15:01:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E4=B8=96=E7=95=8C=E7=AD=89?= =?UTF-8?q?=E7=BA=A7bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/db/mongo/LjsdMongoTemplate.java | 20 +++++++++++++++++-- .../ljsd/jieling/logic/GlobleSystemLogic.java | 5 +++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/LjsdMongoTemplate.java b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/LjsdMongoTemplate.java index 25cc6a0de..974b9102a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/LjsdMongoTemplate.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/LjsdMongoTemplate.java @@ -9,6 +9,8 @@ import com.ljsd.jieling.logic.dao.ServerConfig; import com.ljsd.jieling.logic.dao.root.GlobalSystemControl; import com.ljsd.jieling.logic.dao.root.GuildInfo; import com.mongodb.*; +import config.SMServerArenaSetting; +import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.mongodb.core.MongoTemplate; @@ -66,10 +68,16 @@ public class LjsdMongoTemplate implements MongoUpdateImp { } } } else { - for (MongoTemplate mongoTemplate : MongoUtil.mongoTemplateMap.values()) { + MongoTemplate mongoTemplate = MongoUtil.mongoTemplateMap.get(GameApplication.serverId); + if (mongoTemplate != null) { List all = mongoTemplate.findAll(clazz); - list.addAll(all); + return all; } + +// for (MongoTemplate mongoTemplate : MongoUtil.mongoTemplateMap.values()) { +// List all = mongoTemplate.findAll(clazz); +// list.addAll(all); +// } } return list; //return mongoTemplate.findAll(clazz,collectionName); @@ -93,6 +101,14 @@ public class LjsdMongoTemplate implements MongoUpdateImp { } } } else { + SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1); + int rankEndLine = setting.getWorldLevLimit(); + if (query.getLimit() == rankEndLine) { + MongoTemplate mongoTemplate = MongoUtil.mongoTemplateMap.get(GameApplication.serverId); + List all = mongoTemplate.find(query, entityClass); + list.addAll(all); + return list; + } for (MongoTemplate mongoTemplate : MongoUtil.mongoTemplateMap.values()) { List all = mongoTemplate.find(query, entityClass); list.addAll(all); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobleSystemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobleSystemLogic.java index 6d2a6a400..ad024771d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobleSystemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobleSystemLogic.java @@ -205,13 +205,14 @@ public class GlobleSystemLogic implements IEventHandler { } private static void setGlobalWorldLevelCache(int globalWorldLevelCache) { - if(globalWorldLevelCache>getGlobalWorldLevelCache()){ + // TODO 下次更新前删除 强制设置一次世界等级 +// if(globalWorldLevelCache>getGlobalWorldLevelCache()){ GLOABLE_WORLD_LEVE_CACHE = globalWorldLevelCache; RedisUtil.getInstence().putMapEntry(RedisKey.SERVER_WORLDLEVE_INFO,"",String.valueOf(GameApplication.serverId),globalWorldLevelCache); InnerMessageUtil.broadcastWithRandom(user->{ MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()), 1, MessageTypeProto.MessageType.WorldLevelIndication_VALUE, PlayerInfoProto.WorldLevelIndication.newBuilder().setWorldLeve(GlobleSystemLogic.getGlobalWorldLevelCache()).build(), true); }, new LinkedList<>(OnlineUserManager.sessionMap.keySet()),10); - } +// } }