From 3107bf325466e0c84db5811763c1b34645a69dd1 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 23 Nov 2020 14:00:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/global/GlobalServerApplication.java | 2 +- .../java/com/global/thread/MinuteTask.java | 4 +- .../src/main/java/com/logic/GlobalLogic.java | 85 ------------------- 3 files changed, 2 insertions(+), 89 deletions(-) delete mode 100644 globalidserver/src/main/java/com/logic/GlobalLogic.java diff --git a/globalidserver/src/main/java/com/global/GlobalServerApplication.java b/globalidserver/src/main/java/com/global/GlobalServerApplication.java index 8fba5accd..b4470ab6a 100644 --- a/globalidserver/src/main/java/com/global/GlobalServerApplication.java +++ b/globalidserver/src/main/java/com/global/GlobalServerApplication.java @@ -2,11 +2,11 @@ package com.global; import com.global.config.ConfigurableApplicationContextManager; import com.global.config.CoreSettings; +import com.global.logic.GlobalLogic; import com.global.redis.RedisUtil; import com.global.thread.ThreadManager; import com.global.thrift.pool.GlobalRpcService; import com.global.thrift.pool.RPCServerTask; -import com.world.logic.GlobalLogic; import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/globalidserver/src/main/java/com/global/thread/MinuteTask.java b/globalidserver/src/main/java/com/global/thread/MinuteTask.java index 2f30bcd67..46ed2f1b9 100644 --- a/globalidserver/src/main/java/com/global/thread/MinuteTask.java +++ b/globalidserver/src/main/java/com/global/thread/MinuteTask.java @@ -1,8 +1,6 @@ package com.global.thread; -import com.global.redis.RedisKey; -import com.global.redis.RedisUtil; -import com.world.logic.GlobalLogic; +import com.global.logic.GlobalLogic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/globalidserver/src/main/java/com/logic/GlobalLogic.java b/globalidserver/src/main/java/com/logic/GlobalLogic.java deleted file mode 100644 index a10121548..000000000 --- a/globalidserver/src/main/java/com/logic/GlobalLogic.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.world.logic; - - -import com.global.redis.RedisKey; -import com.global.redis.RedisUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.data.redis.core.ZSetOperations; -import util.TimeUtils; - -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -/** - * @author lvxinran - * @date 2020/12/1 - * @discribe - */ - -public class GlobalLogic { - - - public static final Logger LOGGER = LoggerFactory.getLogger(GlobalLogic.class); - - /** - * 获取单例 - * - * @return - */ - public static GlobalLogic getInstance() { - return Instance.instance; - } - - public static class Instance { - public final static GlobalLogic instance = new GlobalLogic(); - } - - private static Map splitInfo; - /** - * 分组 - */ - public void doSplit(){ - 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); - worldLevelMap.forEach((k,v)->redisUtil.zsetAddOne(RedisKey.SERVER_LEVEL_RANK,k,v)); - Set> zsetRevRangeWithScore = redisUtil.getZsetRevRangeWithScore(RedisKey.SERVER_LEVEL_RANK, 10, 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>=8){ - if(zsetRevRangeWithScore.size()-areaId*8>4){ - 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); - } -}