diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/VipTakeDailyHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/VipTakeDailyHandler.java index 3310b9d70..c2e639b26 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/VipTakeDailyHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/VipTakeDailyHandler.java @@ -7,6 +7,7 @@ import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.logic.dao.PlayerManager; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.store.GiftGoodsType; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; @@ -33,6 +34,10 @@ public class VipTakeDailyHandler extends BaseHandler rank2miss = new HashMap<>(); for (SActivityRankingReward sActivityRankingReward1 : sActivityRankingReward) { - maxRank = Math.max(maxRank, sActivityRankingReward1.getMaxRank()); + if(sActivityRankingReward1.getMaxRank()==-1){ + maxRank =-1; + maxRewardId = sActivityRankingReward1.getId(); + continue; + } + + if(maxRank!=-1) + { + maxRank = Math.max(maxRank, sActivityRankingReward1.getMaxRank()); + } + for (Integer rank : getRankSet(sActivityRankingReward1.getMinRank(), sActivityRankingReward1.getMaxRank())) { rank2miss.put(rank, sActivityRankingReward1.getId()); } } - Set> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.EXPERT_RANK, Integer.toString(id), 0, maxRank - 1); + Set> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.EXPERT_RANK, Integer.toString(id), 0, (maxRank==-1?0:maxRank) - 1); int rank = 1; int nowTime = (int) (TimeUtils.now() / 1000); for (ZSetOperations.TypedTuple item : rankInfo) { @@ -86,7 +97,17 @@ class ExpectRankActivity extends AbstractActivity { if (activityMission == null || activityMission.getOpenType() == 0) { continue; } - int missionId = rank2miss.get(rank); + int missionId ; + if(rank2miss.containsKey(rank)) { + missionId = rank2miss.get(rank); + }else { + if(maxRank==-1){ + missionId = maxRewardId; + }else { + continue; + } + } + //check value SActivityRankingReward sActivityRankingReward1 = SActivityRankingReward.getsActivityRankingRewardMap().get(missionId); //sendmail diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java index 35d046aef..d8c2f3f2b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java @@ -420,7 +420,7 @@ public class StoreLogic { if(storeId==Global.VIPSTORID){ int vipLeve = user.getPlayerInfoManager().getVipLevel(); - user.getPlayerInfoManager().getHadTakeLevelBoxVip().add(vipLeve); + user.getPlayerInfoManager().setHadTakeLevelBoxVip(vipLeve); } PlayerInfoProto.BuyStoreItemResponse builder = PlayerInfoProto.BuyStoreItemResponse.newBuilder().setDrop(drop).build(); @@ -443,7 +443,7 @@ public class StoreLogic { if(storeId==Global.VIPSTORID){ int vipLeve = user.getPlayerInfoManager().getVipLevel(); - if(vipLeve<(sStoreConfig.getStoreId()-1)){ + if(vipLeve<(sStoreConfig.getSort()-1)){ return "vip leve limit"; } // if(user.getPlayerInfoManager().getHadTakeLevelBoxVip().contains(vipLeve)){