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 f0c11ff98..3ffdff551 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 @@ -302,6 +302,7 @@ public class ActivityLogic { public void flushSecretBox( SecretBoxManager secretBoxManager){ secretBoxManager.setCount(0); + secretBoxManager.setDayCount(0); secretBoxManager.setCurSeason(secretBoxSeasonTimes); List idsBySeasonId = SDifferDemonsBoxSetting.getIdsBySeasonId(secretBoxSeasonTimes); Map freeUseMap = new HashMap<>(idsBySeasonId.size()); @@ -320,6 +321,11 @@ public class ActivityLogic { MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.SECRETBOX_RANDOM_RESPONSE_VALUE,"activity_close"); return; } + int randCount = sDifferDemonsBoxSetting.getSecondaryCost(); + if(secretBoxManager.getDayCount() + randCount > sDifferDemonsBoxSetting.getMaxNum()){ + MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.SECRETBOX_RANDOM_RESPONSE_VALUE,"今日抽取已达上限"); + return; + } int freeTime = sDifferDemonsBoxSetting.getFreeTime(); Map freeUseInfos = secretBoxManager.getFreeUseInfos(); if(freeTime>freeUseInfos.get(id)){ @@ -333,7 +339,7 @@ public class ActivityLogic { return; } } - int randCount = sDifferDemonsBoxSetting.getSecondaryCost(); + int count = secretBoxManager.getCount(); int[][] randDrop = new int[randCount][]; for(int i=0;i