修复StackOverflowError
parent
29518695a9
commit
44f88a241c
|
@ -107,43 +107,49 @@ public class CrossServiceLogic {
|
|||
}
|
||||
|
||||
private static CSPlayer formatUserToPlayer(User user){
|
||||
CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(user.getId());
|
||||
CSPlayer csPlayer = RedisUtil.getInstence().getObject(getKey(user.getId()), CSPlayer.class);
|
||||
int newScore=0,oldScore =0,crossYxldMaxLevel=0 ;
|
||||
if(csPlayer!=null){
|
||||
if (csPlayer != null) {
|
||||
newScore = csPlayer.getCrossYuxulundaoNewScore();
|
||||
oldScore = csPlayer.getCrossYuxulundaoOldScore();
|
||||
crossYxldMaxLevel = csPlayer.getCrossYxldMaxLevel();
|
||||
} else {
|
||||
csPlayer = new CSPlayer();
|
||||
}
|
||||
|
||||
CSPlayer player = new CSPlayer();
|
||||
PlayerManager p = user.getPlayerInfoManager();
|
||||
player.setUserId(user.getId());
|
||||
player.setLevel(p.getLevel());
|
||||
player.setName(p.getNickName());
|
||||
player.setHead(p.getHead());
|
||||
player.setHeadFrame(p.getHeadFrame());
|
||||
player.setSkin(p.getUserSkin());
|
||||
player.setUserTitle(p.getUserTitle());
|
||||
player.setPracticeLevel(user.getHeroManager().getPracticeLevel());
|
||||
player.setServerId(GameApplication.serverId);
|
||||
player.setSex(p.getSex());
|
||||
player.setUserMount(p.getUserMount());
|
||||
player.setCrossYuxulundaoNewScore(newScore);
|
||||
player.setCrossYuxulundaoOldScore(oldScore);
|
||||
player.setGuildId(p.getGuildId());
|
||||
player.setCrossYxldMaxLevel(crossYxldMaxLevel);
|
||||
csPlayer.setUserId(user.getId());
|
||||
csPlayer.setLevel(p.getLevel());
|
||||
csPlayer.setName(p.getNickName());
|
||||
csPlayer.setHead(p.getHead());
|
||||
csPlayer.setHeadFrame(p.getHeadFrame());
|
||||
csPlayer.setSkin(p.getUserSkin());
|
||||
csPlayer.setUserTitle(p.getUserTitle());
|
||||
csPlayer.setPracticeLevel(user.getHeroManager().getPracticeLevel());
|
||||
csPlayer.setServerId(GameApplication.serverId);
|
||||
csPlayer.setSex(p.getSex());
|
||||
csPlayer.setUserMount(p.getUserMount());
|
||||
csPlayer.setCrossYuxulundaoNewScore(newScore);
|
||||
csPlayer.setCrossYuxulundaoOldScore(oldScore);
|
||||
csPlayer.setGuildId(p.getGuildId());
|
||||
csPlayer.setCrossYxldMaxLevel(crossYxldMaxLevel);
|
||||
//玉虚三个队伍总战力
|
||||
int force1 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_ONE.getTeamId(), false);
|
||||
int force2 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_TWO.getTeamId(), false);
|
||||
int force3 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_THREE.getTeamId(), false);
|
||||
player.setMaxFore(force1+force2+force3);
|
||||
if (csPlayer.getMaxFore() == 0) {
|
||||
int force1 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_ONE.getTeamId(), false);
|
||||
int force2 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_TWO.getTeamId(), false);
|
||||
int force3 = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.CROSS_YU_XU_LUN_DAO_THREE.getTeamId(), false);
|
||||
csPlayer.setMaxFore(force1+force2+force3);
|
||||
}
|
||||
// 主线编队战力
|
||||
int mainLine = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false);
|
||||
player.setMainLineForce(mainLine);
|
||||
if (csPlayer.getMainLineForce() == 0) {
|
||||
int mainLine = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false);
|
||||
csPlayer.setMainLineForce(mainLine);
|
||||
}
|
||||
// 罗浮编队战力
|
||||
int luoFu = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false);
|
||||
player.setLuoFuForce(luoFu);
|
||||
return player;
|
||||
if (csPlayer.getLuoFuForce() == 0) {
|
||||
int luoFu = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false);
|
||||
csPlayer.setLuoFuForce(luoFu);
|
||||
}
|
||||
return csPlayer;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package com.ljsd.jieling.logic.dao.cross;
|
||||
|
||||
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
|
||||
|
||||
/**
|
||||
* @Author hj
|
||||
* @Date 2021/8/31 15:30:04
|
||||
|
@ -231,10 +229,6 @@ public class CSPlayer {
|
|||
}
|
||||
|
||||
public int getMainLineForce() {
|
||||
if (mainLineForce == 0){
|
||||
CSPlayer redis = CrossServiceLogic.getPlayerByRedis(userId, false);
|
||||
mainLineForce = redis==null?0:redis.getMainLineForce();
|
||||
}
|
||||
return mainLineForce;
|
||||
}
|
||||
|
||||
|
@ -243,10 +237,6 @@ public class CSPlayer {
|
|||
}
|
||||
|
||||
public int getLuoFuForce() {
|
||||
if (mainLineForce == 0){
|
||||
CSPlayer redis = CrossServiceLogic.getPlayerByRedis(userId, false);
|
||||
luoFuForce = redis==null?0:redis.getLuoFuForce();
|
||||
}
|
||||
return luoFuForce;
|
||||
}
|
||||
|
||||
|
|
|
@ -1710,6 +1710,9 @@ public class PlayerLogic {
|
|||
}
|
||||
}
|
||||
String rpcString = RedisUtil.getInstence().getObject(RedisKey.LOGIC_SERVER_INFO, Integer.toString(serverId), String.class, -1);
|
||||
if (rpcString == null) {
|
||||
return null;
|
||||
}
|
||||
String[] split = rpcString.split(":");
|
||||
if (split.length < 4) {
|
||||
LOGGER.error("获取玩家rpc地址,长度错误,rpc:{},玩家id:{},服务器id:{}", rpcString, uid, serverId);
|
||||
|
|
Loading…
Reference in New Issue