From 08e1b94c60cbafe27f8fab7c9bae091e38d6fe64 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Mon, 9 Nov 2020 11:12:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=93=E7=BB=8F=E5=AE=9D=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/SeletSubRewardPoolRequestHandler.java | 14 +++++++++----- .../ljsd/jieling/logic/activity/SubActivity.java | 3 +-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/SeletSubRewardPoolRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/SeletSubRewardPoolRequestHandler.java index a67f77d63..629864273 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/SeletSubRewardPoolRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/SeletSubRewardPoolRequestHandler.java @@ -59,28 +59,32 @@ public class SeletSubRewardPoolRequestHandler extends BaseHandleruser.getPlayerInfoManager().getLevel()){ throw new ErrorCodeException(ErrorCode.PLAYER_LEVE_NOT); } + //check floor ActivityProgressInfo activityProgressInfo = activityMission.getActivityMissionMap().get(SubActivity.LAY_INDEX); if(activityProgressInfo!=null&&sBlessingRewardPoolNew.getFloorLimit()>activityProgressInfo.getProgrss()){ throw new ErrorCodeException(ErrorCode.SERVER_DEFINE); } + //check count + ActivityProgressInfo activityProgressInfo1 = activityMission.getActivityMissionMap().get(SubActivity.POOL_INDEX + selectId); + if(activityProgressInfo1!=null&&activityProgressInfo1.getProgrss()>=sBlessingRewardPoolNew.getInitializeNum()){ + throw new ErrorCodeException(ErrorCode.SERVER_DEFINE); + } // //check had select if(activityMission.getV()!=0){ - ActivityProgressInfo activityProgressInfo1 = activityMission.getActivityMissionMap().get(SubActivity.POOL_INDEX + activityMission.getV()); - if(activityProgressInfo1!=null&&activityProgressInfo1.getProgrss()!=0){ - activityProgressInfo1.setProgrss(activityProgressInfo1.getProgrss()-1); + ActivityProgressInfo activityProgressInfoOld = activityMission.getActivityMissionMap().get(SubActivity.POOL_INDEX + activityMission.getV()); + if(activityProgressInfoOld!=null&&activityProgressInfoOld.getProgrss()!=0){ + activityProgressInfoOld.setProgrss(activityProgressInfoOld.getProgrss()-1); } user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().remove(user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().size()-1); } activityMission.setV(selectId); - ActivityProgressInfo activityProgressInfo1 = activityMission.getActivityMissionMap().get(SubActivity.POOL_INDEX + selectId); if(activityProgressInfo1!=null){ activityProgressInfo1.setProgrss(activityProgressInfo1.getProgrss()+1); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SubActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SubActivity.java index 19e931c9c..b3ce1d40e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SubActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SubActivity.java @@ -91,8 +91,7 @@ public class SubActivity extends AbstractActivity { //get reward long count = activityMission.getActivityMissionMap().values().stream().filter(activityProgressInfo1 -> activityProgressInfo1.getState() == ActivityType.HAD_TAKED).count(); //后5个概率提前结束抽奖 - - if (count != (size - 1) && count >= (size - 5) && (Math.random() * 5 < 1)) { + if (count != (size - 1) && count >= (size - 5) && ((Math.random() * 5) < 1)&&user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().get(user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().size() - 1)== activityMission.getV()) { user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().add((int) count, activityMission.getV()); user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().remove(user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().size() - 1); }