From c20d6e97c5c42b23436d7637198140aba75207ea Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Sat, 10 Aug 2019 21:17:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=BC=80=E5=90=AFbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/activity/AbstractActivity.java | 5 +++++ .../com/ljsd/jieling/logic/activity/ActivityLogic.java | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java index 054138946..34b0c7c98 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java @@ -44,6 +44,11 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { } + /** + * 子类重写 + * @param user + * @throws Exception + */ @Override public void onResume(User user) throws Exception { ActivityManager activityManager = user.getActivityManager(); 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 69ea10d38..1cb71f413 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 @@ -273,7 +273,7 @@ public class ActivityLogic { public void updateActivityMissionProgress(User user, int activityType, int count) { - for (Integer id : getOpenActivityIdsByType(user, activityType)) { + for (Integer id : getOpenActivityIdsByType(user, activityType,true)) { AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(id); if (abstractActivity == null) { continue; @@ -284,7 +284,7 @@ public class ActivityLogic { } public void resumeActivity(User user, int activityType) throws Exception { - for (Integer id : getOpenActivityIdsByType(user, activityType)) { + for (Integer id : getOpenActivityIdsByType(user, activityType,false)) { AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(id); if (abstractActivity == null) { continue; @@ -293,13 +293,13 @@ public class ActivityLogic { } } - private Set getOpenActivityIdsByType(User user, int activityType) { + private Set getOpenActivityIdsByType(User user, int activityType,boolean withState) { Set ids = new HashSet<>(); ActivityManager activityManager = user.getActivityManager(); Map activityMissionMap = activityManager.getActivityMissionMap(); for (Map.Entry item : activityMissionMap.entrySet()) { ActivityMission activityMission = item.getValue(); - if (activityMission.getActivityState() != ActivityType.OPEN_STATE) { + if (withState && activityMission.getActivityState() != ActivityType.OPEN_STATE) { continue; } Integer activityId = item.getKey();