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 88ccb1e10..d72e4bfb2 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 @@ -369,6 +369,10 @@ public class ActivityLogic implements IEventHandler{ //初始化活动 绝对时间和相对开服时间 for (Integer openActivityId : openActivityIds) { SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(openActivityId); + if (sGlobalActivity == null) { + LOGGER.info("checkActivityOfUser uid={} remove activity={}", user.getId(), openActivityId); + continue; + } int[] ifOpen = sGlobalActivity.getIfOpen(); //创角 if(ifOpen!=null && ifOpen.length>0 && ifOpen[0]==1){ @@ -404,7 +408,7 @@ public class ActivityLogic implements IEventHandler{ } // 登录检测已开启的活动,商店是否开启 int[] shopId = sGlobalActivity.getShopId(); - if (shopId != null && shopId.length > 0) { + if (shopId != null && shopId.length > 0 && shopId[0] != 0) { boolean b = user.getStoreManager().getStoreInfoMap().containsKey(shopId[0]); if (!b) { LOGGER.info("checkActivityOfUser uid={} activityId={} reopen shopId={}", user.getId(), openActivityId, shopId[0]);