From 972238a7521084b1d27628210f0ebd140184b846 Mon Sep 17 00:00:00 2001 From: "DESKTOP-C3M45P4\\dengdan" Date: Sun, 23 Nov 2025 18:23:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AD=89=E7=BA=A7=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E7=B1=BB=E6=B4=BB=E5=8A=A8=E7=AD=89=E7=BA=A7=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E6=97=B6=E4=B8=8D=E8=87=AA=E5=8A=A8=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/ActivityLogic.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) 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 7c2d58d06..75c28e790 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 @@ -159,6 +159,8 @@ public class ActivityLogic implements IEventHandler{ checkActivityIsFinish(user); sendLuckWheelPool(user,iSession); checkActivityOfUser(user, null); + //修复部分活动更改开启等级条件的活动,导致没有及时刷新(之前只有升级的时候才刷新) + this.refreshLevelActivty(user); } public static class Instance { @@ -2096,4 +2098,31 @@ public class ActivityLogic implements IEventHandler{ } } + /** + * 刷新因为活动等级降低的活动,防止只有升级的时候才会刷新 + * @param user + */ + public void refreshLevelActivty(User user){ + List sGlobalActivities = SGlobalActivity.sGlobalActivityMapByOpenRules.getOrDefault(2,new ArrayList<>(0)); + for(SGlobalActivity sGlobalActivity : sGlobalActivities){ + int[] openRules = sGlobalActivity.getOpenRules(); + if(openRules == null || openRules.length <=0){ + continue; + } + ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(sGlobalActivity.getId()); + if(activityMission!=null && activityMission.getActivityState() == ActivityType.UNOPEN_STATE){ + if(user.getPlayerInfoManager().getLevel()>=openRules[1]){ + activityMission.setActivityState(ActivityType.OPEN_STATE); + ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId()); + Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(user.getId(),sGlobalActivity.getId(),ActivityType.OPEN_STATE)); + if(sGlobalActivity.getType() == ActivityType.GrowthFund){ + ActivityTypeEnum.getActicityById(sGlobalActivity.getId()).update(user,user.getPlayerInfoManager().getLevel()); + } + } + + } + + } + } + }