From b4fa3e8e2db7bc7e0d9d4f7e342888d5ebe9b2e0 Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Fri, 21 Jul 2023 17:50:09 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B3=95=E5=AE=9D=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/dao/CumulationData.java | 9 ++++++++ .../jieling/logic/mission/MissionType.java | 2 +- .../mission/data/DataManagerDistributor.java | 1 + .../mission/data/FabaoDrawTaskManager.java | 23 +++++++++++++++++++ .../event/MissionEventDistributor.java | 1 + 5 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java index fa6977e27..372eca1cf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java @@ -14,6 +14,7 @@ public class CumulationData { // private Map randomCountMap = new HashMap<>(); // 抽卡次数统计 private int recruitmentRands; //群英征募 群英招募次数 + private int fabaoDrawNum;//法宝抽卡次数 public int elementRands; //群英征募 群英招募次数 /** @@ -499,6 +500,14 @@ public class CumulationData { this.championshipRank = championshipRank; } + public int getFabaoDrawNum() { + return fabaoDrawNum; + } + + public void setFabaoDrawNum(int fabaoDrawNum) { + this.fabaoDrawNum = fabaoDrawNum; + } + public int getPlayMiniGameTimes() { return playMiniGameTimes; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java index 32701aef4..4817628b0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java @@ -182,7 +182,7 @@ public enum MissionType { SHIJUE_INSTANCE_ZONES_NUM(162),//十绝挑战num次 QIJIE_INSTANCE_ZONES_NUM(163),//进行num次七界试炼 XIAOYAOYOU_CONSUME_NUM(164),//逍遥游消耗云游值num点 - + FABAO_DRAW_NUM(165),//法宝抽卡次数 ; private int missionType; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java index 833d749bc..3b31c8de1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java @@ -15,6 +15,7 @@ public class DataManagerDistributor { public static void init(){ judges.put(MissionType.RECRUITMENT_RANDOM_HEROES,new RandomHeroDataManager()); + judges.put(MissionType.FABAO_DRAW_NUM,new FabaoDrawTaskManager()); judges.put(MissionType.ELEMENT_RANDOM_TIMES,new RandomHeroDataManager()); judges.put(MissionType.COLLECT_QUALITY_HERO,new GetHeroManager()); judges.put(MissionType.COLLECT_DIFFERENT_HEROS,new GetHeroManager()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java new file mode 100644 index 000000000..014e9b48c --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java @@ -0,0 +1,23 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.mission.MissionType; + +/** + * @author lvxinran + * @date 2021/6/8 + * @discribe + */ +public class FabaoDrawTaskManager extends AbstractDataManager{ + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + data.setFabaoDrawNum(data.getFabaoDrawNum()+1); + return new CumulationData.Result(missionType); + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getFabaoDrawNum(); + } +} 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 cfe024488..8b663d382 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 @@ -84,6 +84,7 @@ public class MissionEventDistributor { typeList = new ArrayList<>(); typeList.add(MissionType.RECRUITMENT_RANDOM_HEROES); + typeList.add(MissionType.FABAO_DRAW_NUM); typeList.add(MissionType.ELEMENT_RANDOM_TIMES); typeList.add(MissionType.CARD_RANDOM_TYPE); typeList.add(MissionType.RANDOM_All_TIMES); From e8e008b4d17752392a5763b2f5e053868398c470 Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Fri, 21 Jul 2023 17:58:29 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B3=95=E5=AE=9D=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java index 014e9b48c..ede7a7782 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java @@ -12,7 +12,7 @@ import com.ljsd.jieling.logic.mission.MissionType; public class FabaoDrawTaskManager extends AbstractDataManager{ @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { - data.setFabaoDrawNum(data.getFabaoDrawNum()+1); + data.setFabaoDrawNum(data.getFabaoDrawNum()+(int)parm[0]); return new CumulationData.Result(missionType); } From b1cacd05f19f0e1f773b7657b14f75dbfcb385c8 Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Fri, 21 Jul 2023 18:09:48 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B3=95=E5=AE=9D=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/activity/event/Poster.java | 6 +----- .../jieling/logic/mission/data/FabaoDrawTaskManager.java | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/Poster.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/Poster.java index 0b37f1588..3d2a60a44 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/Poster.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/Poster.java @@ -42,11 +42,7 @@ public class Poster { } public boolean listenEvent(IEventHandler eh, Class c) { - Set ehs = listenMap.get(c); - if (ehs == null) { - ehs = new HashSet<>(); - listenMap.put(c, ehs); - } + Set ehs = listenMap.computeIfAbsent(c, k -> new HashSet<>()); return ehs.add(eh); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java index ede7a7782..988a62a78 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java @@ -12,7 +12,7 @@ import com.ljsd.jieling.logic.mission.MissionType; public class FabaoDrawTaskManager extends AbstractDataManager{ @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { - data.setFabaoDrawNum(data.getFabaoDrawNum()+(int)parm[0]); + data.setFabaoDrawNum(data.getFabaoDrawNum()+(int)parm[1]); return new CumulationData.Result(missionType); } From dc32f02102712017320c3f5c0ec6078648739cc6 Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Fri, 21 Jul 2023 18:29:04 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=B3=95=E5=AE=9D=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/mission/data/FabaoDrawTaskManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java index 988a62a78..50fa50bab 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java @@ -20,4 +20,9 @@ public class FabaoDrawTaskManager extends AbstractDataManager{ public int getProcess(User user, CumulationData data, int[] missionSubType) { return data.getFabaoDrawNum(); } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getFabaoDrawNum() >= cfgValue[1][0]; + } } From 0a2ea2cdfbf0bf5a8d20cf7917d2e2866dcafe87 Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Fri, 21 Jul 2023 18:56:52 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/dao/UserMissionManager.java | 10 +------- .../event/DefaultMissionUpdateProcessor.java | 24 ------------------- .../event/MissionEventDistributor.java | 17 ++++--------- .../event/VipLevelUpEventProcessor.java | 22 ----------------- 4 files changed, 6 insertions(+), 67 deletions(-) delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/DefaultMissionUpdateProcessor.java delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProcessor.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java index 254ddf866..352ffbc6e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java @@ -519,7 +519,7 @@ public class UserMissionManager extends MongoBase { * @throws Exception */ public void calCumulationDataResult(User user, MissionType missionType, Map> missionTypeEnumListMap , Object...parm) throws Exception { - if( missionType == MissionType.BLOODY_KILL_NUMS ){ + if(missionType == MissionType.BLOODY_KILL_NUMS ){ if(!bloodyMissionIdsType.getDoingMissionIds().isEmpty()){ CumulationData.Result result = new CumulationData.Result(missionType, 0); bloodyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.BLOODYMISSION),null); @@ -555,15 +555,8 @@ public class UserMissionManager extends MongoBase { if(!treasureMissionIdsType.getDoingMissionIds().isEmpty() ){ List sTreasureTaskConfigs = STreasureSunlongTaskConfig.sTreasureTaskConfigListByTypeMapTmp.get(missionType.getMissionTypeValue()); if(sTreasureTaskConfigs!=null){ - //CumulationData.Result result = treasureCumulationData.updateData(missionType, parm); CumulationData.Result weekResult = treasureWeekCumulationData.updateData(missionType, parm); CumulationData.Result monthResult = treasureMonthCumulationData.updateData(missionType, parm); - /*if(result!=null){ - result.setMissionTimeType(1); - treasureMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION),treasureCumulationData); - updateString("treasureCumulationData",treasureCumulationData); - updateString("treasureMissionIdsType",treasureMissionIdsType); - }*/ if(weekResult!=null){ weekResult.setMissionTimeType(2); treasureMissionIdsType.calCumulationDataResult(user,weekResult,missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION),treasureWeekCumulationData); @@ -573,7 +566,6 @@ public class UserMissionManager extends MongoBase { if(monthResult!=null){ monthResult.setMissionTimeType(3); treasureMissionIdsType.calCumulationDataResult(user,monthResult,missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION),treasureMonthCumulationData); - updateString("treasureMonthCumulationData",treasureMonthCumulationData); updateString("treasureMissionIdsType",treasureMissionIdsType); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/DefaultMissionUpdateProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/DefaultMissionUpdateProcessor.java deleted file mode 100644 index b647364d1..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/DefaultMissionUpdateProcessor.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ljsd.jieling.logic.mission.event; - -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.logic.mission.GameEvent; -import com.ljsd.jieling.logic.mission.GameMisionType; -import com.ljsd.jieling.logic.mission.MissionType; -import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo; - -import java.util.List; -import java.util.Map; - -/** - * 任务 - * 默认的消耗类 - */ -public class DefaultMissionUpdateProcessor implements BaseGameEventProcessor{ - @Override - public void onGameEvent(User user, Map> misionTypeListMap, GameEvent event, Object... parm) throws Exception { - List typeList = MissionEventDistributor.eventEnumListMap.get(event); - for (MissionType type : typeList) { - user.getUserMissionManager().calCumulationDataResult(user,type,misionTypeListMap,parm); - } - } -} 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 8b663d382..6c1a532a5 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 @@ -44,7 +44,7 @@ public class MissionEventDistributor { typeList.add(MissionType.HOME_ARCHITECTURE_ONE_LV); typeList.add(MissionType.HOME_ARCHITECTURE_TOTAL_LV); eventEnumListMap.put(GameEvent.HOME_TASK_UPDATE,typeList); - eventProcessor.put(GameEvent.HOME_TASK_UPDATE,new DefaultMissionUpdateProcessor()); + eventProcessor.put(GameEvent.HOME_TASK_UPDATE,new CumulationDataEventProcessor()); // 任务奖励 eventProcessor.put(GameEvent.HOME_TASK_REWARD,new RewardEventProcessor()); @@ -52,13 +52,6 @@ public class MissionEventDistributor { eventProcessor.put(GameEvent.DONGHAIXUNXIAN_INIT, new DefaultMissionRefreshProcess()); eventProcessor.put(GameEvent.DONGHAIXUNXIAN_REWARD, new RewardEventProcessor()); eventProcessor.put(GameEvent.DONGHAIXUNXIAN_UPDATE, new DonghaiXunxianMissionUpdateProcessor()); - typeList = new ArrayList<>(); - typeList.add(MissionType.FANGCUNXUNBAO_NUM); - typeList.add(MissionType.TIANDIHONGLU_NUM); - typeList.add(MissionType.TIANDIHONGLU_NUM); - typeList.add(MissionType.GET_TRANSFIGURATION_CARD_NUM); - typeList.add(MissionType.HAVE_ID_STAR_LV_POKEMON_NUM); - eventEnumListMap.put(GameEvent.DONGHAIXUNXIAN_UPDATE,typeList); // 刷新任务 eventProcessor.put(GameEvent.MISSING_ROOM_REFRESH,new CumulationDataEventProcessor()); @@ -96,7 +89,7 @@ public class MissionEventDistributor { typeList.add(MissionType.VIP_LEVEL); typeList.add(MissionType.VIP_LEVEL); eventEnumListMap.put(GameEvent.VIP_LEVLUP,typeList); - eventProcessor.put(GameEvent.VIP_LEVLUP,new VipLevelUpEventProcessor()); + eventProcessor.put(GameEvent.VIP_LEVLUP,new CumulationDataEventProcessor()); typeList = new ArrayList<>(); typeList.add(MissionType.COLLECT_QUALITY_HERO); @@ -591,13 +584,13 @@ public class MissionEventDistributor { typeList = new ArrayList<>(); typeList.add(MissionType.XIUXING_LEVEL); eventEnumListMap.put(GameEvent.XIUXING_UP, typeList); - eventProcessor.put(GameEvent.XIUXING_UP, new DefaultMissionUpdateProcessor()); + eventProcessor.put(GameEvent.XIUXING_UP, new CumulationDataEventProcessor()); // 逍遥有消耗云游值num点 typeList = new ArrayList<>(); typeList.add(MissionType.XIAOYAOYOU_CONSUME_NUM); eventEnumListMap.put(GameEvent.XIAOYAOYOU_CONSUME, typeList); - eventProcessor.put(GameEvent.XIAOYAOYOU_CONSUME, new DefaultMissionUpdateProcessor()); + eventProcessor.put(GameEvent.XIAOYAOYOU_CONSUME, new CumulationDataEventProcessor()); // 副本挑战,包含(挑战副本,轩辕宝镜,十绝阵,七界试炼)等 typeList = new ArrayList<>(); @@ -606,7 +599,7 @@ public class MissionEventDistributor { typeList.add(MissionType.SHIJUE_INSTANCE_ZONES_NUM); typeList.add(MissionType.QIJIE_INSTANCE_ZONES_NUM); eventEnumListMap.put(GameEvent.INSTANCE_ZONES_CHALLENGE, typeList); - eventProcessor.put(GameEvent.INSTANCE_ZONES_CHALLENGE, new DefaultMissionUpdateProcessor()); + eventProcessor.put(GameEvent.INSTANCE_ZONES_CHALLENGE, new CumulationDataEventProcessor()); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProcessor.java deleted file mode 100644 index 3c61389af..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProcessor.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ljsd.jieling.logic.mission.event; - -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.logic.mission.GameEvent; -import com.ljsd.jieling.logic.mission.GameMisionType; -import com.ljsd.jieling.logic.mission.MissionType; -import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo; - -import java.util.List; -import java.util.Map; - - -public class VipLevelUpEventProcessor implements BaseGameEventProcessor { - @Override - public void onGameEvent(User user, Map> missionTypeEnumListMap, GameEvent event, Object... parm) throws Exception { - user.getUserMissionManager().openMission(user,event, missionTypeEnumListMap,parm); - List typeList = MissionEventDistributor.eventEnumListMap.get(event); - for (MissionType type : typeList) { - user.getUserMissionManager().calCumulationDataResult(user,type,missionTypeEnumListMap,parm); - } - } -}