From 7c7e5cf9f1f4c4b554296e009965e5f5c5e67df6 Mon Sep 17 00:00:00 2001 From: lilei Date: Fri, 21 Aug 2020 16:36:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=A0=B4=E9=98=B5=E8=AF=9B=E4=BB=99?= =?UTF-8?q?=E7=B3=BB=E5=88=97=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/core/GlobalsDef.java | 6 + .../activity/JadeDynastyTimeHandler.java | 29 ++++ .../jieling/logic/activity/ActivityLogic.java | 7 + .../jieling/logic/activity/ActivityType.java | 4 + .../logic/activity/ActivityTypeEnum.java | 7 +- .../activity/JadeDynastyTaskActivity.java | 39 +++++ .../activity/SecretExpectRankActivity.java | 4 +- .../jieling/logic/dao/CumulationData.java | 2 + .../jieling/logic/dao/UserMissionManager.java | 154 +++++++++++++++--- .../ljsd/jieling/logic/mission/GameEvent.java | 6 +- .../jieling/logic/mission/GameMisionType.java | 1 + .../jieling/logic/mission/MissionLoigc.java | 48 +++++- .../jieling/logic/mission/MissionType.java | 6 +- .../mission/data/DataManagerDistributor.java | 1 + .../mission/data/RechargeTimesManager.java | 33 ++++ .../event/JadeDynastyRefreshEventProcess.java | 17 ++ .../event/MissionEventDistributor.java | 8 +- .../mission/main/JadeDynastyMissionType.java | 108 ++++++++++++ .../jieling/logic/store/BuyGoodsLogic.java | 10 ++ .../java/config/SThemeActivityTaskConfig.java | 74 +++++++++ 20 files changed, 534 insertions(+), 30 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/activity/JadeDynastyTimeHandler.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/JadeDynastyTaskActivity.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/RechargeTimesManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/JadeDynastyRefreshEventProcess.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/JadeDynastyMissionType.java create mode 100644 tablemanager/src/main/java/config/SThemeActivityTaskConfig.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java index 000e7f8a3..8fff9e925 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java @@ -1,5 +1,9 @@ package com.ljsd.jieling.core; +import com.google.common.collect.Sets; + +import java.util.Set; + public interface GlobalsDef { String DEFAULT_NAME = "无名妖灵师"; int MAP_MISSION_RETURN = -9999; @@ -103,5 +107,7 @@ public interface GlobalsDef { //特殊商店id + int DAILY_GOODS_FAST_ID = 1004;//每日礼包一键购买的礼包ID + int[] DAILY_RECHARGE_IDS = new int[]{1001, 1002, 1003};//所有每日礼包,用来在一键购买每日礼包之后,把所有每日礼包设置为购买过的状态 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/JadeDynastyTimeHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/JadeDynastyTimeHandler.java new file mode 100644 index 000000000..403c320da --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/JadeDynastyTimeHandler.java @@ -0,0 +1,29 @@ +package com.ljsd.jieling.handler.activity; + +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.activity.ActivityLogic; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.MessageTypeProto; +import org.springframework.stereotype.Component; + +import static com.ljsd.jieling.protocols.MessageTypeProto.MessageType.JADE_DYNASTY_REFRESH_TIME_RESPONSE; + +/** + * @author lilei + * @create 2020-08-20 16:08 + * @description + */ +@Component +public class JadeDynastyTimeHandler extends BaseHandler { + + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.JADE_DYNASTY_REFRESH_TIME_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + ActivityLogic.getInstance().getJadeDynastyNextRefreshTime(iSession, JADE_DYNASTY_REFRESH_TIME_RESPONSE); + } +} 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 0b2ec097f..2dd0530d1 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 @@ -1323,4 +1323,11 @@ public class ActivityLogic implements IEventHandler{ MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true); } + public void getJadeDynastyNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception { + int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000); + int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000); + PlayerInfoProto.JadeDynastyRefreshTimeResponse response = PlayerInfoProto.JadeDynastyRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build(); + MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true); + } + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index fe91170a1..58fbad815 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -67,5 +67,9 @@ public interface ActivityType { int NEW_EIGHT_LOGIN = 56;//新的八日登录 int SIGN_BOX= 57;//累计签到宝箱 + int JADE_DYNASTY_RECHARGE_SUM = 58;//破阵诛仙累充 + int JADE_DYNASTY_MISSION = 20000;//破阵诛仙任务 + int JADE_DYNASTY_SHOP = 20001;//破阵诛仙限时商市 + int JADE_DYNASTY_RARE_SHOP = 20002;//破阵诛仙珍奇宝阁 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java index 5a6207aa2..ca5bf35a9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java @@ -1,6 +1,5 @@ package com.ljsd.jieling.logic.activity; -import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum; import config.SGlobalActivity; import java.util.HashMap; @@ -50,7 +49,11 @@ public enum ActivityTypeEnum { COPY_PASS(ActivityType.COPY_PASS,ChapterRewardActivity::new), NEW_EIGHT_LOGIN(ActivityType.NEW_EIGHT_LOGIN,NewEightActivity::new), BEAUTY_BAG(ActivityType.BEAUTY_BAG,LimitRandomCardActivity::new), - SIGN_BOX(ActivityType.SIGN_BOX,SignInSumActivity::new) + SIGN_BOX(ActivityType.SIGN_BOX,SignInSumActivity::new), + JADE_DYNASTY_RECHARGE_SUM(ActivityType.JADE_DYNASTY_RECHARGE_SUM, RechargeSumActivity::new), + JADE_DYNASTY_MISSION(ActivityType.JADE_DYNASTY_MISSION, JadeDynastyTaskActivity::new), + JADE_DYNASTY_SHOP(ActivityType.JADE_DYNASTY_SHOP, DefaultEmptyActivity::new), + JADE_DYNASTY_RARE_SHOP(ActivityType.JADE_DYNASTY_RARE_SHOP, DefaultEmptyActivity::new), ; private int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/JadeDynastyTaskActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/JadeDynastyTaskActivity.java new file mode 100644 index 000000000..8ef51a6e5 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/JadeDynastyTaskActivity.java @@ -0,0 +1,39 @@ +package com.ljsd.jieling.logic.activity; + +import com.ljsd.jieling.jbean.ActivityMission; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.mission.GameEvent; +import config.SGlobalActivity; + +import java.util.Collections; + +public class JadeDynastyTaskActivity extends AbstractActivity { + + public JadeDynastyTaskActivity(int id) { + super(id); + } + + + @Override + public void onResume(User user) throws Exception { + LOGGER.info("[破阵诛仙任务活动刷新] [uid:{}] [activityId:{}]",user.getId(),id); + user.getUserMissionManager().onGameEvent(user, GameEvent.JADE_DYNASTY_REFRESH, id); + user.getUserMissionManager().onGameEvent(user, GameEvent.JADE_DYNASTY_WEEK_REFRESH, id); + } + + @Override + public void initActivity(User user) throws Exception { + + LOGGER.info("[破阵诛仙任务活动] [初始化玩家数据] [uid:{}] [activityId:{}]",user.getId(),this.id); + + SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); + user.getUserMissionManager().onGameEvent(user, GameEvent.JADE_DYNASTY_REFRESH, sGlobalActivity.getId()); + user.getUserMissionManager().onGameEvent(user, GameEvent.JADE_DYNASTY_WEEK_REFRESH, sGlobalActivity.getId()); + //这个活动只有任务奖励 + ActivityMission activityMission = new ActivityMission(); + ActivityLogic.getInstance().initOtherMission(activityMission,Collections.emptyList()); + user.getActivityManager().getActivityMissionMap().put(sGlobalActivity.getId(), activityMission); + + } + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SecretExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SecretExpectRankActivity.java index b5e6cf604..f4628b6b0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SecretExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SecretExpectRankActivity.java @@ -33,8 +33,8 @@ class SecretExpectRankActivity extends ExpectRankActivity { public void initActivity(User user) throws Exception { SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); List listValue = new ArrayList<>(); - listValue.add(36);//额外购买次数 - listValue.add(37);//额外免费次数 + listValue.add(153);//额外购买次数 + listValue.add(154);//额外免费次数 Set changedSet = new HashSet<>(); long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2); int time = (int)(endTime / 1000); 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 599947f35..deb2dd4b8 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 @@ -120,6 +120,8 @@ public class CumulationData { public int rechargeTotal; //累計充值 + public int rechargeTimes; //充值次数 + public int refreshMrTimes; //刷新迷宫寻宝次数 public int especialEquipMaxLeve; //法宝最高等级达到5 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 3c8ce732e..6d5a3f551 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 @@ -53,6 +53,7 @@ public class UserMissionManager extends MongoBase { private BloodyMissionIdsType bloodyMissionIdsType =new BloodyMissionIdsType(); private MissingRoomMissionType missingRoomMissionType = new MissingRoomMissionType(); private AchieveMissionIdsType achievementMissionTypMap = new AchieveMissionIdsType(); + private JadeDynastyMissionType jadeDynastyMissionType = new JadeDynastyMissionType();//破阵诛仙任务 //数据累加项 private CumulationData cumulationData = new CumulationData(); @@ -64,6 +65,8 @@ public class UserMissionManager extends MongoBase { private CumulationData treasureMonthCumulationData = new CumulationData(); private CumulationData sevenHappyCumulationData = new CumulationData(); private CumulationData achievementMap = new CumulationData(); + private CumulationData jadeDynastyCumulationData = new CumulationData();//破阵诛仙日数据 + private CumulationData jadeDynastyWeekCumulationData = new CumulationData();//破阵诛仙周数据 //触发任务上身 public void openMission(User user,GameEvent event,Map> missionTypeEnumListMap, Object... parm) throws Exception { @@ -93,7 +96,8 @@ public class UserMissionManager extends MongoBase { updateString("dailyMissionIdsType",dailyMissionIdsType); break; case TREASH_REFRESH: - int[] refreshIds =resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData); + int activityId = (int) parm[0];//当前轮次青龙秘宝的活动ID + int[] refreshIds = resetTreasureTaskInfo(1,activityId,missionTypeEnumListMap,treasureCumulationData); treasureCumulationData = new CumulationData(); int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, 0,false)/1000); CommonProto.RefreshTask.Builder task = treasureIndicationBuild(1, refreshIds).setRefreshTime(dayRefreshTime); @@ -101,7 +105,8 @@ public class UserMissionManager extends MongoBase { MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication1,true); break; case TREASH_WEEK_REFRESH: - int[] weekRefreshIds = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData); + int aId = (int) parm[0];//当前轮次青龙秘宝的活动ID + int[] weekRefreshIds = resetTreasureTaskInfo(2,aId,missionTypeEnumListMap,treasureWeekCumulationData); if(weekRefreshIds != null){ treasureWeekCumulationData = new CumulationData(); int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000); @@ -112,6 +117,7 @@ public class UserMissionManager extends MongoBase { } break; case TREASH_MONTH_REFRESH: + int aid = (int) parm[0];//当前轮次青龙秘宝的活动ID user.getPlayerInfoManager().setTreasureLevel(0); Item item = user.getItemManager().getItem(Global.TREASURE_SCORE); if(item!=null){ @@ -126,7 +132,7 @@ public class UserMissionManager extends MongoBase { } } treasureMonthCumulationData = new CumulationData(); - int[] monthRefreshIds1 = resetTreasureTaskInfo(3,missionTypeEnumListMap,treasureMonthCumulationData); + int[] monthRefreshIds1 = resetTreasureTaskInfo(3,aid,missionTypeEnumListMap,treasureMonthCumulationData); // CommonProto.RefreshTask.Builder task3 = treasureIndicationBuild(1, dailyRefreshIds1); // CommonProto.RefreshTask.Builder task4 = treasureIndicationBuild(2, weekRefreshIds1); @@ -134,6 +140,26 @@ public class UserMissionManager extends MongoBase { PlayerInfoProto.TreasureRefreshIndication indication3 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task5.build()).build(); MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication3,true); break; + case JADE_DYNASTY_REFRESH: + int jadeAId = (int) parm[0];//当前轮次破阵诛仙的活动ID + int[] mIds = resetJadeDynastyTaskInfo(1,jadeAId,missionTypeEnumListMap,jadeDynastyCumulationData); + jadeDynastyCumulationData = new CumulationData(); + int nextRefreshTime= (int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, 0,false)/1000); + CommonProto.RefreshTask.Builder t = treasureIndicationBuild(1, mIds).setRefreshTime(nextRefreshTime); + PlayerInfoProto.JadeDynastyRefreshIndication indi = PlayerInfoProto.JadeDynastyRefreshIndication.newBuilder().addTasks(t.build()).build(); + MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.JADE_DYNASTY_REFRESH_INDICATION_VALUE,indi,true); + break; + case JADE_DYNASTY_WEEK_REFRESH: + int jadeAid = (int) parm[0];//当前轮次破阵诛仙的活动ID + int[] weekMIds = resetJadeDynastyTaskInfo(2,jadeAid,missionTypeEnumListMap,jadeDynastyWeekCumulationData); + if(weekMIds != null){ + jadeDynastyWeekCumulationData = new CumulationData(); + int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000); + CommonProto.RefreshTask.Builder task2= treasureIndicationBuild(2, weekMIds).setRefreshTime(weekRefreshTime); + PlayerInfoProto.JadeDynastyRefreshIndication indication2 = PlayerInfoProto.JadeDynastyRefreshIndication.newBuilder().addTasks(task2.build()).build(); + MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.JADE_DYNASTY_REFRESH_INDICATION_VALUE,indication2,true); + } + break; case SERVENHAPPY_REFRESH: List sTreasureTaskConfigs = null; sTreasureTaskConfigs = STableManager.getFigureConfig(TaskStaticConfig.class).getsTreasureTaskConfigListByActivityMap().get((int) parm[0]); @@ -296,6 +322,11 @@ public class UserMissionManager extends MongoBase { updateString("treasureMissionIdsType",treasureMissionIdsType); } break; + case JADE_DYNASTY_MISSION_REWARD:{ + jadeDynastyMissionType.rewardMission(user, (int) parm[0], missionTypeEnumListMap.get(GameMisionType.JADE_DYNASTY_MISSION), jadeDynastyCumulationData); + updateString("jadeDynastyMissionType",jadeDynastyMissionType); + } + break; case ACHIEVE_REWARD:{ int missId = (int)parm[0]; achievementMissionTypMap.rewardMission(missId, missionTypeEnumListMap.get(GameMisionType.ACHIEVEMISSION)); @@ -404,6 +435,26 @@ public class UserMissionManager extends MongoBase { } } + if(!jadeDynastyMissionType.getDoingMissionIds().isEmpty() ){ + List sThemeActivityTaskConfigs = SThemeActivityTaskConfig.sThemeTaskConfigListByTypeMapTmp.get(missionType.getMissionTypeValue()); + if(sThemeActivityTaskConfigs!=null){ + CumulationData.Result result = jadeDynastyCumulationData.updateData(missionType, parm); + CumulationData.Result weekResult = jadeDynastyWeekCumulationData.updateData(missionType, parm); + if(result!=null){ + result.setMissionTimeType(1); + jadeDynastyMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.JADE_DYNASTY_MISSION),jadeDynastyCumulationData); + updateString("jadeDynastyCumulationData",jadeDynastyCumulationData); + updateString("jadeDynastyMissionType",jadeDynastyMissionType); + } + if(weekResult!=null){ + weekResult.setMissionTimeType(2); + jadeDynastyMissionType.calCumulationDataResult(user,weekResult,missionTypeEnumListMap.get(GameMisionType.JADE_DYNASTY_MISSION),jadeDynastyWeekCumulationData); + updateString("jadeDynastyWeekCumulationData",jadeDynastyWeekCumulationData); + updateString("jadeDynastyMissionType",jadeDynastyMissionType); + } + + } + } if(!sevenHappyMissionType.getDoingMissionIds().isEmpty() ){ List sTreasureTaskConfigs = STableManager.getFigureConfig(TaskStaticConfig.class).getsTreasureTaskConfigListByTypeMap().get(missionType.getMissionTypeValue()); @@ -443,37 +494,49 @@ public class UserMissionManager extends MongoBase { } - private int[] resetTreasureTaskInfo(int type,Map> missionTypeEnumListMap,CumulationData treasureCumulationData){ + private int[] resetTreasureTaskInfo(int type, int activityId, Map> missionTypeEnumListMap,CumulationData treasureCumulationData){ //周刷新检测 - if(type==2){ - if(treasureMissionIdsType.getWeekRefresh()!=0&&!TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(),TimeUtils.now(),1,5)){ - return null; - } - treasureMissionIdsType.setWeekRefresh(TimeUtils.now()); + if (type == 2) { + if (treasureMissionIdsType.getWeekRefresh() != 0 && !TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(), TimeUtils.now(), 1, 5)) { + return null; } - int[] typeMissionNum = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SUNLONG_DAILYTASKS); - List taskTypeMap = STreasureSunlongTaskConfig.taskTypeMap.get(type); - for(Integer treasure:taskTypeMap){ - if(treasureMissionIdsType.getDoingMissionIds().contains(treasure)){ - treasureMissionIdsType.getDoingMissionIds().remove(treasure); + treasureMissionIdsType.setWeekRefresh(TimeUtils.now()); + } + //int[] typeMissionNum = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SUNLONG_DAILYTASKS); + List taskTypeMap = STreasureSunlongTaskConfig.taskTypeMap.get(type); + List newTasks = new ArrayList<>(); + for (Integer treasure : taskTypeMap) { + STreasureSunlongTaskConfig config = STreasureSunlongTaskConfig.treasureTaskConfig.get(treasure); + //需要判断这个任务是不是当前轮次的 + if (config.getActivityId() == activityId) { + newTasks.add(treasure); } - if(treasureMissionIdsType.getFinishMissionIds().contains(treasure)){ + if (treasureMissionIdsType.getDoingMissionIds().contains(treasure)) { + treasureMissionIdsType.getDoingMissionIds().remove(treasure); + } + if (treasureMissionIdsType.getFinishMissionIds().contains(treasure)) { treasureMissionIdsType.getFinishMissionIds().remove(treasure); } - if(treasureMissionIdsType.getRewardedMissionIds().get(treasure)){ + if (treasureMissionIdsType.getRewardedMissionIds().get(treasure)) { treasureMissionIdsType.getRewardedMissionIds().clear(treasure); } } - int[][] randomTask = new int[taskTypeMap.size()][]; + /* + 戒灵秘宝之前的任务刷新逻辑是,不关联活动ID + 每次刷新任务从表里配的里边随机出SpecialConfig中配置的活动数量 + 现在更改为,不随机,关联活动ID 2020.08.20 + */ + /*int[][] randomTask = new int[taskTypeMap.size()][]; for(int i = 0 ; i missionStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION); - for(Integer task:tasks){ + int[] tasks = new int[newTasks.size()]; + for(Integer task:newTasks){ missionStateChangeInfos.add(new MissionStateChangeInfo(task, MissionState.DOING,0)); treasureMissionIdsType.getDoingMissionIds().add(task); } @@ -490,6 +553,45 @@ public class UserMissionManager extends MongoBase { return tasks; } + private int[] resetJadeDynastyTaskInfo(int type, int activityId, Map> missionTypeEnumListMap,CumulationData jadeDynastyCumulationData){ + //周刷新检测 + if (type == 2) { + if (jadeDynastyMissionType.getWeekRefresh() != 0 && !TimeUtils.isSpanTime(jadeDynastyMissionType.getWeekRefresh(), TimeUtils.now(), 1, 5)) { + return null; + } + jadeDynastyMissionType.setWeekRefresh(TimeUtils.now()); + } + List taskTypeMap = SThemeActivityTaskConfig.taskTypeMap.get(type); + List newTasks = new ArrayList<>(); + for (Integer treasure : taskTypeMap) { + SThemeActivityTaskConfig config = SThemeActivityTaskConfig.idTaskConfig.get(treasure); + //需要判断这个任务是不是当前轮次的 + if (config.getActivityId() == activityId) { + newTasks.add(treasure); + } + jadeDynastyMissionType.getDoingMissionIds().remove(treasure); + jadeDynastyMissionType.getFinishMissionIds().remove(treasure); + if (jadeDynastyMissionType.getRewardedMissionIds().get(treasure)) { + jadeDynastyMissionType.getRewardedMissionIds().clear(treasure); + } + } + List missionStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.JADE_DYNASTY_MISSION); + int[] tasks = new int[newTasks.size()]; + for (int i = 0; i < newTasks.size(); i++) { + missionStateChangeInfos.add(new MissionStateChangeInfo(newTasks.get(i), MissionState.DOING,0)); + jadeDynastyMissionType.getDoingMissionIds().add(newTasks.get(i)); + tasks[i] = newTasks.get(i); + } + jadeDynastyCumulationData = new CumulationData(); + updateString("jadeDynastyMissionType",jadeDynastyMissionType); + if(type==1){ + updateString("jadeDynastyCumulationData",jadeDynastyCumulationData); + }else if(type==2){ + updateString("jadeDynastyWeekCumulationData",jadeDynastyCumulationData); + } + return tasks; + } + private CommonProto.RefreshTask.Builder treasureIndicationBuild(int type,int[] refreshIds){ CommonProto.RefreshTask.Builder task = CommonProto.RefreshTask.newBuilder().setType(type); for(int i = 0;i missionList) { + JadeDynastyMissionType jadeDynastyMissionType = user.getUserMissionManager().getJadeDynastyMissionType(); + CumulationData jadeDynastyCumulationData = user.getUserMissionManager().getJadeDynastyCumulationData(); + CumulationData jadeDynastyWeekCumulationData = user.getUserMissionManager().getJadeDynastyWeekCumulationData(); + + int jadeMissionType = GameMisionType.JADE_DYNASTY_MISSION.getType(); + for(Integer id:jadeDynastyMissionType.getDoingMissionIds()){ + SThemeActivityTaskConfig config = SThemeActivityTaskConfig.idTaskConfig.get(id); + int progress = config.getTaskValue()[1][0]; + switch (config.getType()){ + case 1: + progress = getDoingProgress(user,jadeDynastyCumulationData,config.getTaskType(),config.getTaskValue()[0]); + break; + case 2: + progress = getDoingProgress(user,jadeDynastyWeekCumulationData,config.getTaskType(),config.getTaskValue()[0]); + break; + default: + break; + } + missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(id).setState(0).setType(jadeMissionType).setProgress(progress).setTakeTimes(0).build()); + } + for(Integer id:jadeDynastyMissionType.getFinishMissionIds()){ + STreasureSunlongTaskConfig config = STreasureSunlongTaskConfig.treasureTaskConfig.get(id); + int progress = config.getTaskValue()[1][0]; + missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(id).setState(1).setType(jadeMissionType).setProgress(progress).setTakeTimes(0).build()); + } + for(Map.Entry taskId:STreasureSunlongTaskConfig.treasureTaskConfig.entrySet()){ + if(jadeDynastyMissionType.getRewardedMissionIds().get(taskId.getKey())){ + missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(taskId.getKey()).setState(2).setType(jadeMissionType).setProgress(taskId.getValue().getTaskValue()[1][0]).setTakeTimes(0).build()); + } + } + } + public static void getDailyMission(User user,List missionList){ UserMissionManager userMissionManager = user.getUserMissionManager(); @@ -425,6 +459,19 @@ public class MissionLoigc { } } + if(type == GameMisionType.JADE_DYNASTY_MISSION.getType()){ + Map> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.JADE_DYNASTY_MISSION_REWARD, missionId); + missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.JADE_DYNASTY_MISSION); + if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){ + KtEventUtils.onKtEvent(user, ParamEventBean.UserTaskEvent,type,missionId); + Repot37EventUtil.onKtEvent(user, Repot37EventUtil.Report37EventType.TASK_FINISH_EVEMT,missionId,""); + CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD); + PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build(); + MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true); + return; + } + } + if(type == GameMisionType.SEVENMISSION.getType()){ Map> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.SEVENHAPPY_MISSION_REWARD, missionId); missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.SEVENMISSION); @@ -439,7 +486,6 @@ public class MissionLoigc { missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.ACHIEVEMISSION); } - if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){ CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD); user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,missionId); 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 880610489..ef742372a 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 @@ -99,6 +99,7 @@ public enum MissionType { LUCKY_WHEELS_TIMES(83),//幸运探宝%次 FINISH_EXPEDITION_HERO_TIMES(84),//完成猎妖之路次数达到 + SEVEN_GIFT_BUY(86),//购买7日狂欢福利礼包%s次七日狂欢积分 FINISIN_DAILY_CHALLENGE_TIMES(87),//完成%s类型(0为不限类型)的日常副本%s次 @@ -117,14 +118,11 @@ public enum MissionType { GOT_ANY_ITEM(109),//暂时不实现,占位,任意途径获得quality品质(无品质限定为0)type类别(无类别限制为-1)的itemid道具(无指定道具限定为0)num个 - //110-累计n天挑战车迟斗法 --类型105已实现 ARENA_CONSECUTIVE_WIN(111),//竞技场连胜 PLAY_MINI_GAME_TIMES(112),//森罗幻境中参与n次小游戏 CHAMPIONSHIP_RANK(113),//巅峰联赛中达到num名 - //114-天宫寻宝中接取任意星级任务n次 --类型76已实现 GOT_SOUL_MARK(115),//获得指定品质魂印数量 - //117-累计探索森罗幻境num层 --类型32已实现 - //118-充值达到num金额 --类型74已实现 + RECHARGE_TIMES(117),//充值任意金额次数 ; 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 b715d4dc7..08f32345f 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 @@ -111,6 +111,7 @@ public class DataManagerDistributor { judges.put(MissionType.FRIEND_APPLY,new FriendApplyManager()); judges.put(MissionType.REARGE_TOTAL,new RechargeTotalManger()); + judges.put(MissionType.RECHARGE_TIMES,new RechargeTimesManager()); judges.put(MissionType.FINISH_MISSING_ROOM,new FinishMissionRoomManager()); judges.put(MissionType.REFRESH_MISSING_ROOM,new RefreshMissionRoomMamager()); judges.put(MissionType.SPECIAL_EQUIP_LEVEL_UP,new EspecialEquipLeveMamager()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/RechargeTimesManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/RechargeTimesManager.java new file mode 100644 index 000000000..363f2556e --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/RechargeTimesManager.java @@ -0,0 +1,33 @@ +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 lilei + * @create 2020-08-20 18:08 + * @description + */ +public class RechargeTimesManager extends AbstractDataManager { + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + CumulationData.Result result = null; + if (missionType == MissionType.RECHARGE_TIMES) { + data.rechargeTimes++; + result = new CumulationData.Result(missionType); + } + return result; + } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.rechargeTimes>=cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.rechargeTimes; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/JadeDynastyRefreshEventProcess.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/JadeDynastyRefreshEventProcess.java new file mode 100644 index 000000000..9a5172037 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/JadeDynastyRefreshEventProcess.java @@ -0,0 +1,17 @@ +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.main.MissionStateChangeInfo; + +import java.util.List; +import java.util.Map; + +public class JadeDynastyRefreshEventProcess implements BaseGameEventProcessor { + + @Override + public void onGameEvent(User user, Map> misionTypeListMap, GameEvent event, Object... parm) throws Exception { + user.getUserMissionManager().openMission(user,event,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 06c63c154..f1520a062 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 @@ -39,6 +39,8 @@ public class MissionEventDistributor { eventProcessor.put(GameEvent.TREASH_MONTH_REFRESH,new TreasureRefreshEventProcess()); eventProcessor.put(GameEvent.SERVENHAPPY_REFRESH,new TreasureRefreshEventProcess()); eventProcessor.put(GameEvent.BEGINNER,new BeginneRefreshEventProcessor()); + eventProcessor.put(GameEvent.JADE_DYNASTY_REFRESH,new JadeDynastyRefreshEventProcess()); + eventProcessor.put(GameEvent.JADE_DYNASTY_WEEK_REFRESH,new JadeDynastyRefreshEventProcess()); List typeList = new ArrayList<>(); @@ -189,6 +191,7 @@ public class MissionEventDistributor { eventProcessor.put(GameEvent.BLOODY_MISSION_REWARD,new RewardEventProcessor()); eventProcessor.put(GameEvent.MISSING_ROOM_MISSION_REWARD,new RewardEventProcessor()); eventProcessor.put(GameEvent.ACHIEVE_REWARD,new RewardEventProcessor()); + eventProcessor.put(GameEvent.JADE_DYNASTY_MISSION_REWARD,new RewardEventProcessor()); typeList = new ArrayList<>(); @@ -312,6 +315,7 @@ public class MissionEventDistributor { typeList = new ArrayList<>(); typeList.add(MissionType.REARGE_TOTAL); + typeList.add(MissionType.RECHARGE_TIMES); eventEnumListMap.put(GameEvent.RECHARGE_TOTAL,typeList); eventProcessor.put(GameEvent.RECHARGE_TOTAL,new CumulationDataEventProcessor()); @@ -440,6 +444,7 @@ public class MissionEventDistributor { missionTypeEnumListMap.put(GameMisionType.BLOODYMISSION, new ArrayList<>()); missionTypeEnumListMap.put(GameMisionType.MISSINGROOMMISSION, new ArrayList<>()); missionTypeEnumListMap.put(GameMisionType.ACHIEVEMISSION, new ArrayList<>()); + missionTypeEnumListMap.put(GameMisionType.JADE_DYNASTY_MISSION, new ArrayList<>()); } else { @@ -452,6 +457,7 @@ public class MissionEventDistributor { missionTypeEnumListMap.get(GameMisionType.BLOODYMISSION).clear(); missionTypeEnumListMap.get(GameMisionType.MISSINGROOMMISSION).clear(); missionTypeEnumListMap.get(GameMisionType.ACHIEVEMISSION).clear(); + missionTypeEnumListMap.get(GameMisionType.JADE_DYNASTY_MISSION).clear(); } @@ -488,7 +494,7 @@ public class MissionEventDistributor { if(gameMisionType==GameMisionType.MISSINGROOMMISSION){ continue; } - if(gameMisionType == GameMisionType.COPYMISSION || gameMisionType == GameMisionType.TREASUREMISSION || gameMisionType == GameMisionType.SEVENMISSION || gameMisionType == GameMisionType.BLOODYMISSION|| gameMisionType == GameMisionType.ACHIEVEMISSION){ + if(gameMisionType == GameMisionType.COPYMISSION || gameMisionType == GameMisionType.TREASUREMISSION || gameMisionType == GameMisionType.SEVENMISSION || gameMisionType == GameMisionType.BLOODYMISSION|| gameMisionType == GameMisionType.ACHIEVEMISSION || gameMisionType == GameMisionType.JADE_DYNASTY_MISSION){ progress = missionStateChangeInfo.getProgress(); } if(missionState == MissionState.DOING){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/JadeDynastyMissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/JadeDynastyMissionType.java new file mode 100644 index 000000000..0e71abec2 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/JadeDynastyMissionType.java @@ -0,0 +1,108 @@ +package com.ljsd.jieling.logic.mission.main; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.mission.MissionLoigc; +import com.ljsd.jieling.logic.mission.MissionState; +import com.ljsd.jieling.logic.mission.MissionType; +import com.ljsd.jieling.logic.mission.data.AbstractDataManager; +import com.ljsd.jieling.logic.mission.data.BaseDataManager; +import com.ljsd.jieling.logic.mission.data.DataManagerDistributor; +import config.SThemeActivityTaskConfig; +import config.STreasureSunlongTaskConfig; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class JadeDynastyMissionType extends AbstractMissionType{ + + private long weekRefresh; + + public long getWeekRefresh() { + return weekRefresh; + } + + public void setWeekRefresh(long weekRefresh) { + this.weekRefresh = weekRefresh; + } + + @Override + public void openMission(User user, int missionId, List missionTypeEnumList) { + + } + + public void rewardMission(User user,int missionId, List missionTypeEnumListMap, CumulationData cumulationData) throws Exception { + SThemeActivityTaskConfig taskConfig = SThemeActivityTaskConfig.idTaskConfig.get(missionId); + if(taskConfig == null){return;} + if (!getFinishMissionIds().contains(missionId)) { + return ; + } + MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD,taskConfig.getIntegral()); + missionTypeEnumListMap.add(stateChangeInfo); + getFinishMissionIds().remove(missionId); + getRewardedMissionIds().set(missionId); + } + + + @Override + public int[][] reward(int missionId) { + return new int[0][]; + } + + @Override + public void calCumulationDataResult(User user, CumulationData.Result result, List missionStateChangeInfos, CumulationData cumulationData) { + + Set doingMissionIds = getDoingMissionIds(); + List sThemeActivityTaskConfigs = SThemeActivityTaskConfig.sThemeTaskConfigListByTypeMapTmp.get(result.subType.getMissionTypeValue()); + if(sThemeActivityTaskConfigs == null){ + return; + } + for(SThemeActivityTaskConfig sThemeActivityTaskConfig : sThemeActivityTaskConfigs){ + int id = sThemeActivityTaskConfig.getId(); + if(!doingMissionIds.contains(sThemeActivityTaskConfig.getId())){ + continue; + } + if(sThemeActivityTaskConfig.getType()!=result.getMissionTimeType()){ + continue; + } + //完成 + int finishParm = sThemeActivityTaskConfig.getTaskValue()[1][0]; + + boolean isFinish; + int doingProgress; + BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(sThemeActivityTaskConfig.getTaskType())); + if(missTypeData instanceof AbstractDataManager &&((AbstractDataManager) missTypeData).isFinish(user,cumulationData, sThemeActivityTaskConfig.getTaskValue())){ + doingProgress = ((AbstractDataManager) missTypeData).getProcess(user,cumulationData,sThemeActivityTaskConfig.getTaskValue()[0]); + isFinish=true; + }else { + doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sThemeActivityTaskConfig.getTaskType(), sThemeActivityTaskConfig.getTaskValue()[0]); + isFinish =doingProgress>=finishParm; + } + + if( isFinish){ + doingMissionIds.remove(id); + getFinishMissionIds().add(id); + MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(id, MissionState.FINISH,doingProgress,0); + missionStateChangeInfos.add(missionStateChangeInfo); + continue; + } + if(finishParm<0){ + continue; + } + int sendProgress = doingProgress; + if(sendProgress>=finishParm){ + MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(id, MissionState.FINISH,sendProgress,0); + missionStateChangeInfos.add(missionStateChangeInfo); + }else{ + MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(id, MissionState.DOING,sendProgress,0); + missionStateChangeInfos.add(missionStateChangeInfo); + } + } + + } + + + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java index f1781c4de..1d8dac05e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java @@ -293,6 +293,13 @@ public class BuyGoodsLogic { rechargeInfo.updateBuyGoodsTimes(goodsId,buyCount); + if (goodsId == GlobalsDef.DAILY_GOODS_FAST_ID) { + //每日礼包一键购买之后,把所有单个的每日礼包的购买次数加一 + for (int gId : GlobalsDef.DAILY_RECHARGE_IDS) { + rechargeInfo.updateBuyGoodsTimes(gId,1); + } + } + ISession session = OnlineUserManager.getSessionByUid(uid); //特殊礼包次数 if(sRechargeCommodityConfig.getTime()==4&&(sRechargeCommodityConfig.getDiscountType().length==3||sRechargeCommodityConfig.getDiscountType().length==4)){ @@ -451,6 +458,9 @@ public class BuyGoodsLogic { if(goodsType == GiftGoodsType.SUN_LONG){ user.getPlayerInfoManager().setHadBuyTreasure(1); } + if (sRechargeCommodityConfig.getId() == GlobalsDef.DAILY_GOODS_FAST_ID) { + + } } public static boolean isHadBought( Map buyGoodsTimes,int giftGoodsType){ diff --git a/tablemanager/src/main/java/config/SThemeActivityTaskConfig.java b/tablemanager/src/main/java/config/SThemeActivityTaskConfig.java new file mode 100644 index 000000000..8b2d6e97f --- /dev/null +++ b/tablemanager/src/main/java/config/SThemeActivityTaskConfig.java @@ -0,0 +1,74 @@ +package config; + +import manager.STableManager; +import manager.Table; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Table(name ="ThemeActivityTaskConfig") +public class SThemeActivityTaskConfig implements BaseConfig { + + private int id; + + private int activityId; + + private int type; + + private int taskType; + + private int[][] taskValue; + + private int[][] integral; + + private int weight; + + public static Map idTaskConfig; + + public static Map> taskTypeMap; + + public static Map> sThemeTaskConfigListByTypeMapTmp; + + @Override + public void init() throws Exception { + idTaskConfig = STableManager.getConfig(SThemeActivityTaskConfig.class); + taskTypeMap = new HashMap<>(); + sThemeTaskConfigListByTypeMapTmp = new HashMap<>(); + for(Map.Entry entry:idTaskConfig.entrySet()){ + SThemeActivityTaskConfig entryValue = entry.getValue(); + taskTypeMap.computeIfAbsent(entryValue.getType(),v->new ArrayList<>()).add(entry.getKey()); + sThemeTaskConfigListByTypeMapTmp.computeIfAbsent(entryValue.getTaskType(),v->new ArrayList<>()).add(entryValue); + } + } + + + public int getId() { + return id; + } + + public int getActivityId() { + return activityId; + } + + public int getType() { + return type; + } + + public int getTaskType() { + return taskType; + } + + public int[][] getTaskValue() { + return taskValue; + } + + public int[][] getIntegral() { + return integral; + } + + public int getWeight() { + return weight; + } +} \ No newline at end of file From 80bd02138f3561f28c2781e8875e149cbfaa811b Mon Sep 17 00:00:00 2001 From: lilei Date: Fri, 21 Aug 2020 18:00:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=A0=B4=E9=98=B5=E8=AF=9B=E4=BB=99?= =?UTF-8?q?=E7=B4=AF=E5=86=B2=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java index 1d8dac05e..6b2815100 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java @@ -267,6 +267,7 @@ public class BuyGoodsLogic { ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.LUCKYCAT,price); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.DAILY_RECHARGE,price); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RECHARGE_NUM,price); + ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.JADE_DYNASTY_RECHARGE_SUM,price); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RECHARGE_SUM_DAY, user.getPlayerInfoManager().getRechargedaily()); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FIND_FAIRY_FESTIVAL, price);