From 10858c26067938b51c82f987266ff86e51dcf35f Mon Sep 17 00:00:00 2001 From: lvxinran Date: Tue, 1 Sep 2020 18:30:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=91=E5=BD=B1=E4=BB=99=E8=B8=AA=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/NewWelfareActivity.java | 51 ++++++++++++++----- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java index f8029eb65..aa1aae3be 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java @@ -58,7 +58,12 @@ public class NewWelfareActivity extends AbstractActivity { parm=activityProgressInfo.getProgrss(); } if(parm ==sActivityRewardConfig.getValues()[1][0]){ - activityProgressInfo.setState(1); + if(newWelfareEvent.getType() == NewWelfareTypeEnum.RECHARGE_BUY.getType()){ + //可领取奖励 + activityProgressInfo.setState(3); + }else{ + activityProgressInfo.setState(1); + } activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); isUpdate = true; } @@ -73,6 +78,7 @@ public class NewWelfareActivity extends AbstractActivity { @Override public boolean takeReward(ISession session, int missionId) throws Exception { + PlayerInfoProto.TakeActivityRewardResponse build = null; User user = UserManager.getUser(session.getUid()); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) { @@ -80,22 +86,39 @@ public class NewWelfareActivity extends AbstractActivity { } ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); Map activityProgressInfoMap = activityMission.getActivityMissionMap(); - for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){ - if(activityProgressInfo.getState() != 1){ + //0是领取最后奖励 + if(missionId==0){ + for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){ + //3状态专为第三个任务使用。。 + if(activityProgressInfo.getState() != 1&&activityProgressInfo.getState() != 3){ + throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); + } + } + for(Map.Entry item: activityProgressInfoMap.entrySet()){ + item.getValue().setState(2); + activityMission.getActivityMissionMap().put(item.getKey(),item.getValue()); + } + + + sendActivityProgress(session, activityMission, null); + List sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); + CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfigs.get(0).getReward(), BIReason.TAKE_ACTIVITY_REWARD); + build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); + }else{ + //领取第三个奖励用 + if(!activityProgressInfoMap.containsKey(missionId)||activityProgressInfoMap.get(missionId).getState()!=3){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } + //领过了 + activityProgressInfoMap.get(missionId).setState(1); + SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId); + if(sActivityRewardConfig==null){ + throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); + } + sendActivityProgress(session, activityMission, null); + CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfig.getReward(), BIReason.TAKE_ACTIVITY_REWARD); + build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); } - for(Map.Entry item: activityProgressInfoMap.entrySet()){ - item.getValue().setState(2); - activityMission.getActivityMissionMap().put(item.getKey(),item.getValue()); - } - - - sendActivityProgress(session, activityMission, null); - List sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); - CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfigs.get(0).getReward(), BIReason.TAKE_ACTIVITY_REWARD); - KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId); - PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true); return true; }