分组修改

back_recharge
lvxinran 2021-07-12 11:46:00 +08:00
parent ce10e5f88a
commit aade43b553
1 changed files with 19 additions and 21 deletions

View File

@ -236,18 +236,16 @@ public class GlobleSystemLogic implements IEventHandler {
} }
//这里为所有服务器的世界等级 //这里为所有服务器的世界等级
Map<String,Integer> worldLevelMap = redisUtil.getMapValues(RedisKey.SERVER_WORLDLEVE_INFO,"",String.class,Integer.class); Map<String,Integer> worldLevelMap = redisUtil.getMapValues(RedisKey.SERVER_WORLDLEVE_INFO,"",String.class,Integer.class);
LOGGER.info("Global开始分组"); LOGGER.info("跨服开始分组");
long lastHour = TimeUtils.getLastOrUnderHour(TimeUtils.now(), 1, 0, 0, true); long lastHour = TimeUtils.getLastOrUnderHour(TimeUtils.now(), 1, 0, 0, true);
lastHour+=(2*TimeUtils.WEEK); lastHour+=TimeUtils.WEEK;
int expireTime =(int)((lastHour-TimeUtils.now())/1000); int expireTime =(int)((lastHour-TimeUtils.now())/1000);
redisUtil.set(RedisKey.MATCHED_SPLIT_KEY,String.valueOf(1),expireTime-60); redisUtil.set(RedisKey.MATCHED_SPLIT_KEY,String.valueOf(1),expireTime-60);
//提前两分钟结算 //提前两分钟结算
redisUtil.set(RedisKey.MATCHED_VERSION,TimeUtils.getTimeStampYMD(System.currentTimeMillis()),expireTime-120); redisUtil.set(RedisKey.MATCHED_VERSION,TimeUtils.getTimeStampYMD(System.currentTimeMillis()),expireTime-120);
worldLevelMap.forEach((k,v)->redisUtil.zsetAddOne(RedisKey.SERVER_LEVEL_RANK,k,v)); worldLevelMap.forEach((k,v)->redisUtil.zsetAddOne(RedisKey.SERVER_LEVEL_RANK,k,v));
Set<ZSetOperations.TypedTuple<String>> zsetRevRangeWithScore = redisUtil.getZsetreverseRangeByRangeWithScores(RedisKey.SERVER_LEVEL_RANK, setting.getWorldLevel(), 999); Set<ZSetOperations.TypedTuple<String>> zsetRevRangeWithScore = redisUtil.getZsetreverseRangeByRangeWithScores(RedisKey.SERVER_LEVEL_RANK, setting.getWorldLevel(), 999);
// int remain = zsetRevRangeWithScore.size() % 8;
//如果只有一个服到达条件,则不进行分组
if(zsetRevRangeWithScore.size()>1){
int index = 0; int index = 0;
int areaId = 1; int areaId = 1;
Map<String,Integer> split = new HashMap<>(zsetRevRangeWithScore.size()); Map<String,Integer> split = new HashMap<>(zsetRevRangeWithScore.size());
@ -265,10 +263,10 @@ public class GlobleSystemLogic implements IEventHandler {
redisUtil.putMapEntrys(RedisKey.SERVER_SPLIT_INFO,"",split); redisUtil.putMapEntrys(RedisKey.SERVER_SPLIT_INFO,"",split);
//发分组邮件 //发分组邮件
split.keySet().forEach(server->redisUtil.putMapEntry(RedisKey.SERVER_SPLIT_MAIL_INFO,"",server,0)); split.keySet().forEach(server->redisUtil.putMapEntry(RedisKey.SERVER_SPLIT_MAIL_INFO,"",server,0));
}
//释放分布式锁 //释放分布式锁
redisUtil.del("SERVER_SPLIT_REDIS_LOCK"); redisUtil.del("SERVER_SPLIT_REDIS_LOCK");
LOGGER.info("Global分组结束"); LOGGER.info("跨服分组结束");
// splitInfo = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO,"",String.class,Integer.class); // splitInfo = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO,"",String.class,Integer.class);
} }
//获取当前区服的跨服区组 -1为未在分组内 //获取当前区服的跨服区组 -1为未在分组内