From d265432e5a3b9574e5c2e5222a96722fa54c3283 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sat, 10 Jul 2021 01:00:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0=E7=94=A8=E4=BB=A3=E7=A0=81=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/global/logic/GlobalLogic.java | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/globalidserver/src/main/java/com/global/logic/GlobalLogic.java b/globalidserver/src/main/java/com/global/logic/GlobalLogic.java index 143b70ba2..90132b241 100644 --- a/globalidserver/src/main/java/com/global/logic/GlobalLogic.java +++ b/globalidserver/src/main/java/com/global/logic/GlobalLogic.java @@ -43,48 +43,48 @@ public class GlobalLogic { * 分组 */ public void doSplit(){ - SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1); - RedisUtil redisUtil = RedisUtil.getInstence(); - //这里为所有服务器的世界等级 - Map worldLevelMap = redisUtil.getMapValues(RedisKey.SERVER_WORLDLEVE_INFO+":",String.class,Integer.class); - Object matched = redisUtil.get(RedisKey.MATCHED_SPLIT_KEY); - if(matched!=null){ - return; - } - LOGGER.info("Global开始分组"); - long lastHour = TimeUtils.getLastOrUnderHour(TimeUtils.now(), 1, 0, 0, true); - lastHour+=(2*TimeUtils.WEEK); - int expireTime =(int)((lastHour-TimeUtils.now())/1000); - redisUtil.set(RedisKey.MATCHED_SPLIT_KEY,String.valueOf(1),expireTime-60); - //提前两分钟结算 - redisUtil.set(RedisKey.MATCHED_VERSION,TimeUtils.getTimeStampYMD(System.currentTimeMillis()),expireTime-120); - worldLevelMap.forEach((k,v)->redisUtil.zsetAddOne(RedisKey.SERVER_LEVEL_RANK,k,v)); - Set> zsetRevRangeWithScore = redisUtil.getZsetRevRangeWithScore(RedisKey.SERVER_LEVEL_RANK, setting.getWorldLevel(), 999); -// int remain = zsetRevRangeWithScore.size() % 8; - int index = 0; - int areaId = 1; - Map split = new HashMap<>(zsetRevRangeWithScore.size()); - for(ZSetOperations.TypedTuple data:zsetRevRangeWithScore){ - if(index>=setting.getServerNum()){ - if((zsetRevRangeWithScore.size()-areaId*setting.getServerNum())>setting.getServerNum()/2){ - areaId++; - } - index=0; - } - split.put(data.getValue(),areaId); - - index++; - } - redisUtil.putMapEntrys(RedisKey.SERVER_SPLIT_INFO,split); - LOGGER.info("Global分组结束"); - splitInfo = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO,String.class,Integer.class); - } - - public int getSplitInfo(int serverId){ - - if(splitInfo==null){ - splitInfo = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO,String.class,Integer.class); - } - return splitInfo.getOrDefault(String.valueOf(serverId),-1); +// SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1); +// RedisUtil redisUtil = RedisUtil.getInstence(); +// //这里为所有服务器的世界等级 +// Map worldLevelMap = redisUtil.getMapValues(RedisKey.SERVER_WORLDLEVE_INFO+":",String.class,Integer.class); +// Object matched = redisUtil.get(RedisKey.MATCHED_SPLIT_KEY); +// if(matched!=null){ +// return; +// } +// LOGGER.info("Global开始分组"); +// long lastHour = TimeUtils.getLastOrUnderHour(TimeUtils.now(), 1, 0, 0, true); +// lastHour+=(2*TimeUtils.WEEK); +// int expireTime =(int)((lastHour-TimeUtils.now())/1000); +// redisUtil.set(RedisKey.MATCHED_SPLIT_KEY,String.valueOf(1),expireTime-60); +// //提前两分钟结算 +// redisUtil.set(RedisKey.MATCHED_VERSION,TimeUtils.getTimeStampYMD(System.currentTimeMillis()),expireTime-120); +// worldLevelMap.forEach((k,v)->redisUtil.zsetAddOne(RedisKey.SERVER_LEVEL_RANK,k,v)); +// Set> zsetRevRangeWithScore = redisUtil.getZsetRevRangeWithScore(RedisKey.SERVER_LEVEL_RANK, setting.getWorldLevel(), 999); +//// int remain = zsetRevRangeWithScore.size() % 8; +// int index = 0; +// int areaId = 1; +// Map split = new HashMap<>(zsetRevRangeWithScore.size()); +// for(ZSetOperations.TypedTuple data:zsetRevRangeWithScore){ +// if(index>=setting.getServerNum()){ +// if((zsetRevRangeWithScore.size()-areaId*setting.getServerNum())>setting.getServerNum()/2){ +// areaId++; +// } +// index=0; +// } +// split.put(data.getValue(),areaId); +// +// index++; +// } +// redisUtil.putMapEntrys(RedisKey.SERVER_SPLIT_INFO,split); +// LOGGER.info("Global分组结束"); +// splitInfo = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO,String.class,Integer.class); +// } +// +// public int getSplitInfo(int serverId){ +// +// if(splitInfo==null){ +// splitInfo = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO,String.class,Integer.class); +// } +// return splitInfo.getOrDefault(String.valueOf(serverId),-1); } }