区服id修改
parent
620528a9c3
commit
c220070f59
|
@ -2,10 +2,10 @@ package com.ljsd.common.mogodb;
|
||||||
|
|
||||||
import com.ljsd.common.mogodb.util.ConcurrentDataMessage;
|
import com.ljsd.common.mogodb.util.ConcurrentDataMessage;
|
||||||
import com.ljsd.common.mogodb.util.MongoKeys;
|
import com.ljsd.common.mogodb.util.MongoKeys;
|
||||||
import com.mongodb.BasicDBObject;
|
|
||||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class MongoUpdateCache {
|
public class MongoUpdateCache {
|
||||||
|
|
||||||
|
@ -66,10 +66,7 @@ public class MongoUpdateCache {
|
||||||
public boolean checkOverride(String key1,String key2){
|
public boolean checkOverride(String key1,String key2){
|
||||||
String[] fullKeyArray = key1.split("\\.");
|
String[] fullKeyArray = key1.split("\\.");
|
||||||
String[] key1Array = key2.split("\\.");
|
String[] key1Array = key2.split("\\.");
|
||||||
if(fullKeyArray.length == key1Array.length && !fullKeyArray[fullKeyArray.length -1].equals(key1Array[key1Array.length -1])){
|
return fullKeyArray.length != key1Array.length || fullKeyArray[fullKeyArray.length - 1].equals(key1Array[key1Array.length - 1]);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -43,12 +43,12 @@ public class CoreLogic {
|
||||||
return coreMongoTemplate.findOne(query, CHefuInfo.class);
|
return coreMongoTemplate.findOne(query, CHefuInfo.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isHefu(int serverId) {
|
public boolean isNotHefu(int serverId) {
|
||||||
CHefuInfo hefuInfo = findHefuInfo();
|
CHefuInfo hefuInfo = findHefuInfo();
|
||||||
if (hefuInfo == null){
|
if (hefuInfo == null){
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
return hefuInfo.getSlaveServerIds().contains(serverId);
|
return !hefuInfo.getSlaveServerIds().contains(serverId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int findServerIdFromMongo(int uid) {
|
public int findServerIdFromMongo(int uid) {
|
||||||
|
|
|
@ -137,10 +137,7 @@ public class AreaManager {
|
||||||
} else {
|
} else {
|
||||||
//大区新建
|
//大区新建
|
||||||
int masterServerId = serverAreaInfoDb.getMasterServerId();
|
int masterServerId = serverAreaInfoDb.getMasterServerId();
|
||||||
if (masterServerId == GameApplication.serverId) {
|
if (addServerOrAreaIds.containsKey(GameApplication.serverId)) {
|
||||||
needAddRobotInRank = true;//主服
|
|
||||||
}
|
|
||||||
if (addServerOrAreaIds.keySet().contains(GameApplication.serverId)) {
|
|
||||||
mineServerAreaInfo = serverAreaInfoDb;//从服
|
mineServerAreaInfo = serverAreaInfoDb;//从服
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -415,22 +412,18 @@ public class AreaManager {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getServerIdByUid(int uid, int defaultServerId) {
|
public int getServerIdByUid(int uid) {
|
||||||
if (defaultServerId == GameApplication.serverId){
|
// redis绑定的serverid
|
||||||
return defaultServerId;
|
|
||||||
}
|
|
||||||
Integer serverIdByUid = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key, Integer.toString(uid), Integer.class, GlobalsDef.REDIS_OVER_TIME_DAY * 10);
|
Integer serverIdByUid = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key, Integer.toString(uid), Integer.class, GlobalsDef.REDIS_OVER_TIME_DAY * 10);
|
||||||
if (serverIdByUid != null && !CoreLogic.getInstance().isHefu(serverIdByUid)) {
|
if (serverIdByUid != null && CoreLogic.getInstance().isNotHefu(serverIdByUid)) {
|
||||||
LOGGER.info("uid=>{},defaultId =>{},getServerIdByUid1->{}",uid,defaultServerId,serverIdByUid);
|
|
||||||
return serverIdByUid;
|
return serverIdByUid;
|
||||||
}
|
}
|
||||||
LOGGER.info("uid=>{},defaultId =>{},getServerIdByUid2",uid,defaultServerId);
|
// 数据库里存储的serverid
|
||||||
int serverIdFromMongo = CoreLogic.getInstance().findServerIdFromMongo(uid);
|
int serverIdFromMongo = CoreLogic.getInstance().findServerIdFromMongo(uid);
|
||||||
if (serverIdFromMongo != 0 && !CoreLogic.getInstance().isHefu(serverIdFromMongo)){
|
if (serverIdFromMongo != 0 && CoreLogic.getInstance().isNotHefu(serverIdFromMongo)){
|
||||||
LOGGER.info("uid=>{},defaultId =>{},serverIdFromMongo->{}",uid,defaultServerId,serverIdFromMongo);
|
|
||||||
return serverIdFromMongo;
|
return serverIdFromMongo;
|
||||||
}
|
}
|
||||||
LOGGER.info("uid=>{},defaultId =>{},serverIdFromMongo2",uid,defaultServerId);
|
// 本服的
|
||||||
return GameApplication.serverId;
|
return GameApplication.serverId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp {
|
||||||
// MongoRoot root = (MongoRoot)obj;
|
// MongoRoot root = (MongoRoot)obj;
|
||||||
// mongoTemplate.save(obj,root.getCollection());
|
// mongoTemplate.save(obj,root.getCollection());
|
||||||
// root.setBsave(true);
|
// root.setBsave(true);
|
||||||
int serverIdByUid = AreaManager.getInstance().getServerIdByUid(uid, GameApplication.serverId);
|
int serverIdByUid = AreaManager.getInstance().getServerIdByUid(uid);
|
||||||
MongoTemplate otherMonogTemplate = getMongoTemplate(serverIdByUid);
|
MongoTemplate otherMonogTemplate = getMongoTemplate(serverIdByUid);
|
||||||
if (otherMonogTemplate == null) {
|
if (otherMonogTemplate == null) {
|
||||||
return;
|
return;
|
||||||
|
@ -123,7 +123,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp {
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T findById(String collectionName, String id, Class<T> clazz) throws Exception {
|
public <T> T findById(String collectionName, String id, Class<T> clazz) throws Exception {
|
||||||
int serverIdByUid = AreaManager.getInstance().getServerIdByUid(Integer.parseInt(id), GameApplication.serverId);
|
int serverIdByUid = AreaManager.getInstance().getServerIdByUid(Integer.parseInt(id));
|
||||||
MongoTemplate otherMonogTemplate = getMongoTemplate(serverIdByUid);
|
MongoTemplate otherMonogTemplate = getMongoTemplate(serverIdByUid);
|
||||||
if(otherMonogTemplate==null){
|
if(otherMonogTemplate==null){
|
||||||
return null;
|
return null;
|
||||||
|
@ -141,7 +141,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp {
|
||||||
|
|
||||||
|
|
||||||
public <T> T findById(String collectionName, int id, Class<T> clazz) throws Exception {
|
public <T> T findById(String collectionName, int id, Class<T> clazz) throws Exception {
|
||||||
int serverIdByUid = AreaManager.getInstance().getServerIdByUid(id, GameApplication.serverId);
|
int serverIdByUid = AreaManager.getInstance().getServerIdByUid(id);
|
||||||
MongoTemplate otherMonogTemplate = getMongoTemplate(serverIdByUid);
|
MongoTemplate otherMonogTemplate = getMongoTemplate(serverIdByUid);
|
||||||
if(otherMonogTemplate==null){
|
if(otherMonogTemplate==null){
|
||||||
return null;
|
return null;
|
||||||
|
@ -155,7 +155,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp {
|
||||||
if(clazz.equals(GlobalSystemControl.class)||clazz.equals(ServerConfig.class)){
|
if(clazz.equals(GlobalSystemControl.class)||clazz.equals(ServerConfig.class)){
|
||||||
serverIdByUid = GameApplication.serverId;
|
serverIdByUid = GameApplication.serverId;
|
||||||
}else {
|
}else {
|
||||||
serverIdByUid = AreaManager.getInstance().getServerIdByUid(id, GameApplication.serverId);
|
serverIdByUid = AreaManager.getInstance().getServerIdByUid(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
MongoTemplate otherMonogTemplate = getMongoTemplate(serverIdByUid);
|
MongoTemplate otherMonogTemplate = getMongoTemplate(serverIdByUid);
|
||||||
|
@ -215,7 +215,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp {
|
||||||
Integer guilderverId = MongoUtil.getInstence().findGuilderverId(Integer.parseInt(id));
|
Integer guilderverId = MongoUtil.getInstence().findGuilderverId(Integer.parseInt(id));
|
||||||
otherMonogTemplate = MongoUtil.getInstence().getMonogTemplate(guilderverId);
|
otherMonogTemplate = MongoUtil.getInstence().getMonogTemplate(guilderverId);
|
||||||
}else {
|
}else {
|
||||||
int serverIdByUid = AreaManager.getInstance().getServerIdByUid(Integer.parseInt(id), GameApplication.serverId);
|
int serverIdByUid = AreaManager.getInstance().getServerIdByUid(Integer.parseInt(id));
|
||||||
otherMonogTemplate = MongoUtil.getInstence().getMonogTemplate(serverIdByUid);
|
otherMonogTemplate = MongoUtil.getInstence().getMonogTemplate(serverIdByUid);
|
||||||
}
|
}
|
||||||
if (otherMonogTemplate == null) {
|
if (otherMonogTemplate == null) {
|
||||||
|
|
|
@ -111,7 +111,7 @@ public class GuildHelpHelpOtherRequestHandler extends BaseHandler<Family.GuildHe
|
||||||
build.setName(target.getPlayerInfoManager().getNickName()).setUid(target.getId()).setPracticeLevel(target.getHeroManager().getPracticeLevel());
|
build.setName(target.getPlayerInfoManager().getNickName()).setUid(target.getId()).setPracticeLevel(target.getHeroManager().getPracticeLevel());
|
||||||
GuildLogic.sendIndicationToMember(GuilidManager.getGuildInfo(guildId), MessageTypeProto.MessageType.GuildHelpInfoIndication,build.build());
|
GuildLogic.sendIndicationToMember(GuilidManager.getGuildInfo(guildId), MessageTypeProto.MessageType.GuildHelpInfoIndication,build.build());
|
||||||
|
|
||||||
int serverId = AreaManager.getInstance().getServerIdByUid(targetUid, GameApplication.serverId);
|
int serverId = AreaManager.getInstance().getServerIdByUid(targetUid);
|
||||||
if (serverId != GameApplication.serverId) {
|
if (serverId != GameApplication.serverId) {
|
||||||
String s = RedisUtil.getInstence().getGson().toJson(target);
|
String s = RedisUtil.getInstence().getGson().toJson(target);
|
||||||
GuildLogic.updateUserInfo(serverId, targetUid, s, GuildDef.UPDATE_YUANZHU);
|
GuildLogic.updateUserInfo(serverId, targetUid, s, GuildDef.UPDATE_YUANZHU);
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ljsd.jieling.logic.dao.cross;
|
package com.ljsd.jieling.logic.dao.cross;
|
||||||
|
|
||||||
import com.ljsd.GameApplication;
|
|
||||||
import com.ljsd.jieling.db.mongo.AreaManager;
|
import com.ljsd.jieling.db.mongo.AreaManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -182,7 +181,7 @@ public class CSPlayer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getServerId() {
|
public int getServerId() {
|
||||||
return AreaManager.getInstance().getServerIdByUid(userId, 0);
|
return AreaManager.getInstance().getServerIdByUid(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setServerId(int serverId) {
|
public void setServerId(int serverId) {
|
||||||
|
|
|
@ -652,7 +652,7 @@ public class GuildLogic {
|
||||||
targetUser.getGuildMyInfo().clearOfLevelGuild();
|
targetUser.getGuildMyInfo().clearOfLevelGuild();
|
||||||
addGuildLog(guildInfo.getId(),GuildDef.Log.KICK,targetUser.getPlayerInfoManager().getNickName());
|
addGuildLog(guildInfo.getId(),GuildDef.Log.KICK,targetUser.getPlayerInfoManager().getNickName());
|
||||||
|
|
||||||
int serverId = AreaManager.getInstance().getServerIdByUid(targetUid, GameApplication.serverId);
|
int serverId = AreaManager.getInstance().getServerIdByUid(targetUid);
|
||||||
if (serverId != GameApplication.serverId) {
|
if (serverId != GameApplication.serverId) {
|
||||||
String s = RedisUtil.getInstence().getGson().toJson(targetUser);
|
String s = RedisUtil.getInstence().getGson().toJson(targetUser);
|
||||||
updateUserInfo(serverId, targetUid, s, GuildDef.UPDATE_KICK_OUT);
|
updateUserInfo(serverId, targetUid, s, GuildDef.UPDATE_KICK_OUT);
|
||||||
|
@ -862,7 +862,7 @@ public class GuildLogic {
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO lock check
|
//TODO lock check
|
||||||
int serverId = AreaManager.getInstance().getServerIdByUid(sendUid, GameApplication.serverId);
|
int serverId = AreaManager.getInstance().getServerIdByUid(sendUid);
|
||||||
if (serverId != GameApplication.serverId) {
|
if (serverId != GameApplication.serverId) {
|
||||||
User userByRpc = PlayerLogic.getInstance().getUserByRpc(sendUid);
|
User userByRpc = PlayerLogic.getInstance().getUserByRpc(sendUid);
|
||||||
String userStr = RedisUtil.getInstence().getGson().toJson(userByRpc);
|
String userStr = RedisUtil.getInstence().getGson().toJson(userByRpc);
|
||||||
|
@ -1387,7 +1387,7 @@ public class GuildLogic {
|
||||||
User targetUser = PlayerLogic.getInstance().getUserByRpc(targetUid);
|
User targetUser = PlayerLogic.getInstance().getUserByRpc(targetUid);
|
||||||
AyyncWorker ayyncWorker = new AyyncWorker(targetUser, true, n->targetUser.getFriendManager().addBeLikedCount(1));
|
AyyncWorker ayyncWorker = new AyyncWorker(targetUser, true, n->targetUser.getFriendManager().addBeLikedCount(1));
|
||||||
|
|
||||||
int serverId = AreaManager.getInstance().getServerIdByUid(targetUid, GameApplication.serverId);
|
int serverId = AreaManager.getInstance().getServerIdByUid(targetUid);
|
||||||
if (serverId == GameApplication.serverId) {
|
if (serverId == GameApplication.serverId) {
|
||||||
ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker);
|
ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1756,7 +1756,7 @@ public class PlayerLogic {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public User getUserByRpc(int uid) {
|
public User getUserByRpc(int uid) {
|
||||||
int serverId = AreaManager.getInstance().getServerIdByUid(uid, GameApplication.serverId);
|
int serverId = AreaManager.getInstance().getServerIdByUid(uid);
|
||||||
if (serverId == 0) {
|
if (serverId == 0) {
|
||||||
LOGGER.info("serverId is Exception serverId={}", serverId);
|
LOGGER.info("serverId is Exception serverId={}", serverId);
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Reference in New Issue