跨服旧数据兼容

back_recharge
duhui 2021-11-15 10:20:30 +08:00
parent 39b276f03d
commit 1e166894d2
6 changed files with 44 additions and 15 deletions

View File

@ -152,6 +152,13 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler<WorldProto
}
teamInfo = FightUtil.makeCrossPersonData(csPlayer, proto.getTeamId(), null, crossArenaManager);
arenaEnemys = ArenaLogic.getInstance().getUserCrossArenaEnemy(csPlayer,proto.getChallengeRank(),false).build();
// 旧数据兼容
if (csPlayer.getLuoFuForce() == 0){
CSPlayer redis = CrossServiceLogic.getPlayerByRedis(csPlayer.getUserId(), false);
if (redis != null){
csPlayer = redis;
}
}
defendForce = csPlayer.getLuoFuForce();
} else {
//机器人

View File

@ -133,22 +133,16 @@ public class CrossServiceLogic {
csPlayer.setGuildId(p.getGuildId());
csPlayer.setCrossYxldMaxLevel(crossYxldMaxLevel);
//玉虚三个队伍总战力
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 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);
// 主线编队战力
if (csPlayer.getMainLineForce() == 0) {
int mainLine = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false);
csPlayer.setMainLineForce(mainLine);
}
int mainLine = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false);
csPlayer.setMainLineForce(mainLine);
// 罗浮编队战力
if (csPlayer.getLuoFuForce() == 0) {
int luoFu = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false);
csPlayer.setLuoFuForce(luoFu);
}
int luoFu = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false);
csPlayer.setLuoFuForce(luoFu);
return csPlayer;
}

View File

@ -1010,6 +1010,13 @@ public class ArenaLogic {
Object get = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT, String.valueOf(csPlayer.getUserId()));
int proudTime = get==null?1:Integer.parseInt((String)get);
String serverName = CrossServiceLogic.simplifyServerName(csPlayer.getServerId());
// 旧数据兼容
if (csPlayer.getLuoFuForce() == 0){
CSPlayer redis = CrossServiceLogic.getPlayerByRedis(csPlayer.getUserId(), false);
if (redis != null){
csPlayer = redis;
}
}
CommonProto.ArenaPersonInfo personInfoBuild = CommonProto.ArenaPersonInfo.newBuilder()
.setUid(csPlayer.getUserId())
.setLevel(csPlayer.getLevel())

View File

@ -1222,7 +1222,7 @@ public class HeroLogic {
if (teamId == TeamEnum.FORMATION_NORMAL.getTeamId()) {
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(iSession.getUid()));
}
//跨服 玉虚论道
//跨服编队
if (TeamEnum.isCrossTeam(teamId)) {
CrossServiceLogic.getInstance().saveBasicPlayerToRedis(user);
}

View File

@ -267,6 +267,13 @@ public abstract class AbstractRank implements IRank {
public CommonProto.UserRank.Builder getCrossOneUserRank(CSPlayer csPlayer, CommonProto.RankInfo.Builder everyRankInfo){
String serverName = CrossServiceLogic.simplifyServerName(csPlayer.getServerId());
GuildCache mapEntry = CrossDeathPathLogic.getCrossGuild(csPlayer.getGuildId());
// 兼容
if (csPlayer.getMainLineForce() == 0){
CSPlayer redis = CrossServiceLogic.getPlayerByRedis(csPlayer.getUserId(), false);
if (redis != null){
csPlayer = redis;
}
}
return CommonProto.UserRank.newBuilder()
.setUid(csPlayer.getUserId())
.setLevel(csPlayer.getLevel())

View File

@ -76,6 +76,13 @@ public class CrossArenaRank extends AbstractRank {
if (query == null){
return;
}
// 旧数据兼容
if (query.getLuoFuForce() == 0){
CSPlayer redis = CrossServiceLogic.getPlayerByRedis(query.getUserId(), false);
if (redis != null){
query = redis;
}
}
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
.setRank(index)
.setParam1(query.getLuoFuForce())
@ -89,6 +96,13 @@ public class CrossArenaRank extends AbstractRank {
@Override
public CommonProto.UserRank.Builder getCrossOneUserRank(CSPlayer csPlayer, CommonProto.RankInfo.Builder everyRankInfo){
CommonProto.UserRank.Builder oneUserRank = super.getCrossOneUserRank(csPlayer, everyRankInfo);
// 旧数据兼容
if (csPlayer.getLuoFuForce() == 0){
CSPlayer redis = CrossServiceLogic.getPlayerByRedis(csPlayer.getUserId(), false);
if (redis != null){
csPlayer = redis;
}
}
oneUserRank.setForce(csPlayer.getLuoFuForce());
return oneUserRank;
}