容错计算

back_recharge
lvxinran 2021-07-22 15:22:25 +08:00
parent c414784114
commit 8a7eb09fe7
1 changed files with 2 additions and 12 deletions

View File

@ -145,7 +145,6 @@ public class GlobleSystemLogic implements IEventHandler {
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1); SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
int rankEndLine = setting.getWorldLevLimit(); int rankEndLine = setting.getWorldLevLimit();
RedisUtil.getInstence().del(GameApplication.serverId+":"+RedisKey.WORLD_CALCUL_LEVE_RAND+":");
double sum=0; double sum=0;
int level = 1; int level = 1;
//直接从库里查 //直接从库里查
@ -162,19 +161,10 @@ public class GlobleSystemLogic implements IEventHandler {
//如果达不到这些人世界等级就为1 //如果达不到这些人世界等级就为1
if(users.size()>=rankEndLine) { if(users.size()>=rankEndLine) {
for (int j = 0; j <users.size() ; j++) { for (int j = 0; j <users.size() ; j++) {
String rankKey = RedisKey.getKey(RedisKey.WORLD_CALCUL_LEVE_RAND,"", false); sum+=users.get(j).getPlayerInfoManager().getLevel();
RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(users.get(j).getId()), users.get(j).getPlayerInfoManager().getLevel());
}
Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.WORLD_CALCUL_LEVE_RAND, "", 0, rankEndLine - 1);
for (ZSetOperations.TypedTuple<String> item : rankInfo) {
double score = item.getScore();
sum+=score;
} }
level = (int) Math.ceil(sum / (double) Math.min(rankInfo.size(), rankEndLine)); level = (int) Math.ceil(sum / (double) Math.min(users.size(), rankEndLine==0?99999999:rankEndLine));
} }
setGlobalWorldLevelCache(level); setGlobalWorldLevelCache(level);