From 910670c66c3ae7814cf27e6619a98811ab3eb903 Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 2 Dec 2021 16:44:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9E=E7=BB=AD=E7=A4=BC=E5=8C=85=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=8Cbug=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/ContinuousGiftActivity.java | 22 ++++++++----------- .../logic/activity/SuperBoxActivity.java | 4 ++-- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ContinuousGiftActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ContinuousGiftActivity.java index dc2aa30e9..1ee84bac6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ContinuousGiftActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ContinuousGiftActivity.java @@ -1,13 +1,9 @@ package com.ljsd.jieling.logic.activity; import com.ljsd.GameApplication; -import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.logic.OnlineUserManager; -import com.ljsd.jieling.logic.activity.AbstractActivity; -import com.ljsd.jieling.logic.activity.ActivityLogic; -import com.ljsd.jieling.logic.activity.ActivityType; import com.ljsd.jieling.logic.activity.event.ActivityStateChangeEvent; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; @@ -112,7 +108,7 @@ public class ContinuousGiftActivity extends AbstractActivity { * 不要问我为啥写的这么恶心,因为我自己也不知怎么写出来的 * @param user */ - private int getProgress(User user,int missionId){ + private int getState(User user, int missionId){ // 活动信息是否为null ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id); int days = mission.getV(); @@ -184,15 +180,15 @@ public class ContinuousGiftActivity extends AbstractActivity { for (Map.Entry entry : themeMap.entrySet()) { // 参数初始化 int missionId = entry.getKey(); - int progress = getProgress(user,missionId); - if (progress == 0){ + int state = getState(user,missionId); + if (state == 0){ continue; } - int state = progress==8?1:0; + int progrss = progressInfoMap.getOrDefault(missionId, new ActivityProgressInfo()).getProgrss(); // 封装proto并返回 CommonProto.ActivityInfo.MissionInfo build = CommonProto.ActivityInfo.MissionInfo.newBuilder() .setMissionId(missionId) - .setProgress(progress) + .setProgress(progrss) .setState(state) .build(); missionInfos.add(build); @@ -282,7 +278,7 @@ public class ContinuousGiftActivity extends AbstractActivity { Map missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap(); SThemeActivityShop themes = STableManager.getConfig(SThemeActivityShop.class).get(boxId); // 非空 - if (missionMap.isEmpty() || themes == null){ + if (themes == null){ return false; } // 0表示没有前置条件 @@ -290,7 +286,7 @@ public class ContinuousGiftActivity extends AbstractActivity { return true; } // 前置礼包状态验证 - ActivityProgressInfo info = missionMap.get(themes.getLimitPackFId()); + ActivityProgressInfo info = Optional.ofNullable(missionMap).map(v->v.get(themes.getLimitPackFId())).orElse(null); // info为null代表没有前置条件, state==1代表已买过 if (info != null && info.getState() == 8){ return true; @@ -352,9 +348,9 @@ public class ContinuousGiftActivity extends AbstractActivity { Map themes = SThemeActivityShop.themeMap.get(id); for (Map.Entry entry : themes.entrySet()) { - int progress = getProgress(user, entry.getKey()); + int state = getState(user, entry.getKey()); // 不可购买的礼包 - if (progress != 1 || progress == 0){ + if (state != 1){ set.add(entry.getValue().getGoodId()); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index 4884fe62c..bb18efb91 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -282,7 +282,7 @@ public class SuperBoxActivity extends AbstractActivity { Map missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap(); SSurpriseBox box = STableManager.getConfig(SSurpriseBox.class).get(boxId); // 非空 - if (missionMap.isEmpty() || box == null){ + if (box == null){ return false; } // 0表示没有前置条件 @@ -290,7 +290,7 @@ public class SuperBoxActivity extends AbstractActivity { return true; } // 前置礼包状态验证 - ActivityProgressInfo info = missionMap.get(box.getLimitPackFId()); + ActivityProgressInfo info = Optional.ofNullable(missionMap).map(v->v.get(box.getLimitPackFId())).orElse(null); // info为null代表没有前置条件, state==1代表已买过 if (info != null && info.getState() == ActivityType.HAD_TAKED){ return true;