back_recharge
jiahuiwen 2021-11-11 13:51:14 +08:00
parent f7e184aeba
commit 0b67387c77
3 changed files with 17 additions and 17 deletions

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.db.redis;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.ljsd.GameApplication; import com.ljsd.GameApplication;
import com.ljsd.common.mogodb.util.GlobalData; import com.ljsd.common.mogodb.util.GlobalData;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.db.mongo.AreaManager; import com.ljsd.jieling.db.mongo.AreaManager;
import com.ljsd.jieling.util.ConfigurableApplicationContextManager; import com.ljsd.jieling.util.ConfigurableApplicationContextManager;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -1408,7 +1409,7 @@ public class RedisUtil {
} }
else if (!RedisKey.newAreaCacChe.contains(type) && !RedisKey.rankCacChe.contains(type)) { else if (!RedisKey.newAreaCacChe.contains(type) && !RedisKey.rankCacChe.contains(type)) {
if (key.length() == 8) { if (key.length() == 8) {
Integer serverId = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key, key, Integer.class, -1); Integer serverId = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key, key, Integer.class, GlobalsDef.REDIS_OVER_TIME_DAY * 10);
if (serverId != null && !AreaManager.getInstance().checkServerIdAllowPermit(serverId)) { if (serverId != null && !AreaManager.getInstance().checkServerIdAllowPermit(serverId)) {
result = serverId + RedisKey.Delimiter_colon + type + RedisKey.Delimiter_colon + key; result = serverId + RedisKey.Delimiter_colon + type + RedisKey.Delimiter_colon + key;
} }

View File

@ -161,16 +161,12 @@ public class CrossServiceLogic {
if(bol && player != null){ if(bol && player != null){
return player; return player;
} }
try { User user = PlayerLogic.getInstance().getUserByRpc(uid);
User user = PlayerLogic.getInstance().getUserByRpc(uid); if (user == null) {
if (user == null) { return null;
return null;
}
player = formatUserToPlayer(user);
RedisUtil.getInstence().setObject(getKey(player.getUserId()), player, EXPIRE);
} catch (Exception e) {
e.printStackTrace();
} }
player = formatUserToPlayer(user);
RedisUtil.getInstence().setObject(getKey(player.getUserId()), player, EXPIRE);
return player; return player;
} }
} }

View File

@ -9,6 +9,7 @@ import com.ljsd.jieling.config.json.CoreSettings;
import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.VipPrivilegeType; import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType;
import com.ljsd.jieling.db.mongo.AreaManager;
import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCode;
@ -1695,13 +1696,18 @@ public class PlayerLogic {
* @return * @return
* @throws Exception * @throws Exception
*/ */
public User getUserByRpc(int uid) throws Exception { public User getUserByRpc(int uid) {
Integer serverId = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key, Integer.toString(uid), Integer.class, -1); int serverId = AreaManager.getInstance().getServerIdByUid(uid, GameApplication.serverId);
if (serverId == null) { if (serverId == 0) {
return null; return null;
} }
if (serverId == GameApplication.serverId) { if (serverId == GameApplication.serverId) {
return UserManager.getUser(uid, true); try {
return UserManager.getUser(uid, true);
} catch (Exception e) {
LOGGER.info("getUserByRpc Exception uid={} e={}", uid, e);
return null;
}
} }
String rpcString = RedisUtil.getInstence().getObject(RedisKey.LOGIC_SERVER_INFO, Integer.toString(serverId), String.class, -1); String rpcString = RedisUtil.getInstence().getObject(RedisKey.LOGIC_SERVER_INFO, Integer.toString(serverId), String.class, -1);
String[] split = rpcString.split(":"); String[] split = rpcString.split(":");
@ -1711,9 +1717,6 @@ public class PlayerLogic {
} }
String ip = rpcString.split(":")[0]; String ip = rpcString.split(":")[0];
String port = rpcString.split(":")[3]; String port = rpcString.split(":")[3];
//rpc 数据调用
//String ip =csPlayer.getRpcIp();
//int port = csPlayer.getRpcPort();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("RPCCORE").append("|") sb.append("RPCCORE").append("|")
.append(ip).append("|") .append(ip).append("|")