From 0a6bc7deb23d1ec504ef3937f4041b33cd4e2184 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Tue, 8 Jun 2021 01:29:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A4=BC=E5=8C=85=E5=92=8C=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=85=B3=E8=81=94=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/handler/ServerZeroHandler.java | 9 ++++++++- .../java/com/ljsd/jieling/logic/GlobalDataManaager.java | 2 -- .../com/ljsd/jieling/logic/activity/ActivityLogic.java | 2 +- .../java/com/ljsd/jieling/util/InnerMessageUtil.java | 9 +++++---- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerZeroHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerZeroHandler.java index 71a6537f8..ce4549364 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerZeroHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerZeroHandler.java @@ -7,11 +7,16 @@ import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.util.InnerMessageUtil; import com.ljsd.jieling.util.MessageUtil; import rpc.protocols.MessageTypeProto; import org.springframework.stereotype.Component; import rpc.protocols.PlayerInfoProto; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.LongStream; + @Component public class ServerZeroHandler extends BaseHandler { @Override @@ -22,7 +27,9 @@ public class ServerZeroHandler extends BaseHandler { @Override public void process(ISession session, PacketNetData netData) throws Exception { User user = UserManager.getUser(session.getUid()); - GlobalDataManaager.flushGoodsTimes(user); + List array = new ArrayList<>(); + array.add(session.getUid()); + InnerMessageUtil.broadcastWithRandom(user1 -> GlobalDataManaager.flushGoodsTimes(user1),array,3,5); user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0); GlobalDataManaager.checkNeedReFlush(session, UserManager.getUser(session.getUid()), PlayerInfoProto.FivePlayerUpdateIndication.newBuilder()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index 861294eeb..2bcfe393d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -342,7 +342,6 @@ public class GlobalDataManaager implements IManager { PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder); PlayerLogic.getInstance().flushUserdataEvery(user,fBuilder); GuildLogic.getInstance().flushEveryDay(user,fBuilder); - BuyGoodsNewLogic.refreshWelfareState(user); ExpeditionLogic.getInstance().flushUserdataEveryDay(user); MapLogic.getInstance().flushEndlessTreasure(user); @@ -379,7 +378,6 @@ public class GlobalDataManaager implements IManager { user.getPlayerInfoManager().setProudInfo(new HashSet<>()); // 道具刷新 - flushGoodsTimes(user); BuyGoodsNewLogic.refreshWelfareState(user); user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index e1d393913..916e97a63 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -221,7 +221,7 @@ public class ActivityLogic implements IEventHandler{ MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.ACTIVITY_UPDATE_INDICATION_VALUE, builder.build(), true); } MissionEventDistributor.requestEnd(session,true); - }, new LinkedList<>(OnlineUserManager.sessionMap.keySet()),5); + }, new LinkedList<>(OnlineUserManager.sessionMap.keySet()),2); } public void newPlayerOpenActivityMission(User user) throws Exception { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/InnerMessageUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/InnerMessageUtil.java index 4a2b2b29d..559df5cc3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/InnerMessageUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/InnerMessageUtil.java @@ -23,7 +23,7 @@ public class InnerMessageUtil { * @param timeBound 时间区间内随机执行点 针对cpu密集型的业务缓解服务器压力 * tofix zsx 2020.04.28 */ - public static void broadcastWithRandom(AyncWorkerRunnable ayncWorkerRunnable, List sendId, int timeBound) { + public static void broadcastWithRandom(AyncWorkerRunnable ayncWorkerRunnable, List sendId,int minBound, int timeBound) { for (Integer id : sendId) { ThreadManager.getScheduledExecutor().schedule(new InnerTask(id){ @@ -38,10 +38,11 @@ public class InnerMessageUtil { handlerThread.addAyyncWorker(ayyncWorker); } } - , MathUtils.randomInt(timeBound), TimeUnit.SECONDS); + , MathUtils.random(minBound,timeBound), TimeUnit.SECONDS); } - - + } + public static void broadcastWithRandom(AyncWorkerRunnable ayncWorkerRunnable, List sendId, int timeBound) { + broadcastWithRandom(ayncWorkerRunnable,sendId,0,timeBound); }