From 67b39bdd2220b42b3bd20a301ea6fe43c59182f1 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Tue, 2 Jul 2024 15:33:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=83=AD=E6=9B=B4=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=A4=A9=E5=A4=A90.1bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/hotfix.json | 5 ++-- .../event/MissionEventDistributor.java | 26 ++++++++++--------- .../mission/main/EveryDayDiscountType.java | 9 ++++++- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/conf/hotfix.json b/conf/hotfix.json index 3ec84b24a..60a170388 100644 --- a/conf/hotfix.json +++ b/conf/hotfix.json @@ -1,6 +1,7 @@ { - "version":"6", + "version":"7", "classes": [ - {"name":"MissionEventDistributor.class","fullName":"com.ljsd.jieling.logic.mission.event.MissionEventDistributor"} + {"name":"MissionEventDistributor.class","fullName":"com.ljsd.jieling.logic.mission.event.MissionEventDistributor"}, + {"name":"EveryDayDiscountType.class","fullName":"com.ljsd.jieling.logic.mission.main.EveryDayDiscountType"} ] } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java index 8c3655153..a3718c334 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java @@ -371,35 +371,38 @@ public class MissionEventDistributor { SThemeActivityTaskConfig config = SThemeActivityTaskConfig.idTaskConfig.get(missionStateChangeInfo.getMissionId()); progress = MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getDonghaiXunxianData(), config.getTaskType(), config.getTaskValue()[0]); } - //TODO if (gameMisionType == GameMisionType.EXPLORE){ SExploreTask exploreTask = STableManager.getConfig(SExploreTask.class).get(missionStateChangeInfo.getMissionId()); progress = MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getDonghaiXunxianData(), exploreTask.getType(), exploreTask.getValues()[0]); } + if (gameMisionType == GameMisionType.EVERY_DAY_DISCOUNT){ + SEveryDayGiftTask dayGiftTask = SEveryDayGiftTask.map.get(missionStateChangeInfo.getMissionId()); + progress = MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getDonghaiXunxianData(), dayGiftTask.getTaskType(), dayGiftTask.getTaskValue()[0]); + } } // 已完成或者已领取的任务 if(missionState == MissionState.FINISH || missionState == MissionState.REWARD){ - if(gameMisionType == GameMisionType.VIPMISSION){ + if (gameMisionType == GameMisionType.VIPMISSION){ STaskConfig sTaskConfig = STaskConfig.getsTaskConfigById(missionStateChangeInfo.getMissionId()); progress = sTaskConfig.getTaskValue()[1][0]; } - if(gameMisionType == GameMisionType.DAILYMISSION){ + if (gameMisionType == GameMisionType.DAILYMISSION){ SDailyTasksConfig sDailyTasksConfig = SDailyTasksConfig.getSDailyTasksConfigById(missionStateChangeInfo.getMissionId()); progress = sDailyTasksConfig.getValues()[1][0]; } - if(gameMisionType == GameMisionType.BEGINNERMISSION){ + if (gameMisionType == GameMisionType.BEGINNERMISSION){ SBeginnerTask sBeginnerTask = SBeginnerTask.sBeginnerTaskCongigMap.get(missionStateChangeInfo.getMissionId()); progress = sBeginnerTask.getTaskValue()[1][0]; } - if(gameMisionType == GameMisionType.TREASUREMISSION){ + if (gameMisionType == GameMisionType.TREASUREMISSION){ STreasureSunlongTaskConfig sunlongTaskConfig = STreasureSunlongTaskConfig.treasureTaskConfig.get(missionStateChangeInfo.getMissionId()); progress = sunlongTaskConfig.getTaskValue()[1][0]; } - if(gameMisionType == GameMisionType.ACHIEVEMISSION){ + if (gameMisionType == GameMisionType.ACHIEVEMISSION){ SAchievementConfig sAchievementConfig = STableManager.getConfig(SAchievementConfig.class).get(missionStateChangeInfo.getMissionId()); progress = sAchievementConfig.getValues()[1][0]; } - if(gameMisionType == GameMisionType.HOME_MISSION){ + if (gameMisionType == GameMisionType.HOME_MISSION){ SHomeLandTask homeLandTask = STableManager.getConfig(SHomeLandTask.class).get(missionStateChangeInfo.getMissionId()); progress = homeLandTask.getValues()[1][0]; } @@ -407,15 +410,15 @@ public class MissionEventDistributor { SThemeActivityTaskConfig config = SThemeActivityTaskConfig.idTaskConfig.get(missionStateChangeInfo.getMissionId()); progress = config.getTaskValue()[1][0]; } - if(gameMisionType == GameMisionType.EXPLORE){ + if (gameMisionType == GameMisionType.EXPLORE){ SExploreTask exploreTask = STableManager.getConfig(SExploreTask.class).get(missionStateChangeInfo.getMissionId()); progress = exploreTask.getValues()[1][0]; } - if(gameMisionType == GameMisionType.EVERY_DAY_DISCOUNT){ + if (gameMisionType == GameMisionType.EVERY_DAY_DISCOUNT){ SEveryDayGiftTask task = SEveryDayGiftTask.map.get(missionStateChangeInfo.getMissionId()); progress = task.getTaskValue()[1][0]; } - if(gameMisionType == GameMisionType.SEVENMISSION){ + if (gameMisionType == GameMisionType.SEVENMISSION){ STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionStateChangeInfo.getMissionId()); if(sTreasureTaskConfig.getTaskType() != MissionType.SENVER_HAPPY.getMissionTypeValue()){ progress= sTreasureTaskConfig.getTaskValue()[1][0]; @@ -439,10 +442,9 @@ public class MissionEventDistributor { } Map> missionTypeEnumListMap = threadMissionChangeList.get(); try { - if(missionTypeEnumListMap == null){ + if (missionTypeEnumListMap == null){ missionTypeEnumListMap = new HashMap<>(1); } - processor.onGameEvent(user,missionTypeEnumListMap,event,parm); }catch (Exception e){ e.printStackTrace(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/EveryDayDiscountType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/EveryDayDiscountType.java index 286e2ac5a..88d0ae30c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/EveryDayDiscountType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/EveryDayDiscountType.java @@ -9,6 +9,7 @@ import com.ljsd.jieling.logic.mission.data.AbstractDataManager; import com.ljsd.jieling.logic.mission.data.DataManagerDistributor; import config.SEveryDayGiftTask; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -51,7 +52,13 @@ public class EveryDayDiscountType extends AbstractMissionType { continue; } // 清除旧信息(进行中) - missionStateChangeInfos.removeIf(v->v.getMissionId()==id); + Iterator iterator = missionStateChangeInfos.iterator(); + while (iterator.hasNext()){ + MissionStateChangeInfo info = iterator.next(); + if (info != null && info.getMissionId() == id){ + iterator.remove(); + } + } // 添加新信息(可领取) MissionStateChangeInfo finishInfo = new MissionStateChangeInfo(id,MissionState.FINISH, task.getReward()); missionStateChangeInfos.add(finishInfo);