From e0462df216d042d5dc1991fc6daa0e6f61e3f393 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Mon, 10 May 2021 09:42:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=A4=BC=E5=8C=85=E7=81=B5=E5=85=BD?= =?UTF-8?q?=E7=A4=BC=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/store/BuyGoodsNewLogic.java | 32 ++++++++++++++++--- .../newRechargeInfo/NewRechargeInfo.java | 29 +++++++++++------ .../java/com/ljsd/jieling/util/ItemUtil.java | 5 +++ 3 files changed, 51 insertions(+), 15 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 455786b8d..71bb7412b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -197,6 +197,9 @@ public class BuyGoodsNewLogic { sendGoodsByType(user,config,dropByBag); if(config.getAccumulativeRecharge() == 1){ + if(info.getMaxSingleR() < price){ + info.setMaxSingleR(price); + } info.setRr(MathUtils.doubleAdd(price,info.getRr())); //处理月卡 user.getPlayerInfoManager().getMonthCard(); @@ -677,13 +680,17 @@ public class BuyGoodsNewLogic { return; } int popup = 0; + boolean push = false; for(SPackPushConfig con : list){ int bagId = judgePushCondition(user,con); //条件成功 if(bagId > 0 && info.getNextPushTime() < System.currentTimeMillis()){ popup = bagId; info.setNextPushTime(System.currentTimeMillis() + con.getcDTime() * TimeUtils.HOUR); - createPushBag(bagId,user,num); + boolean tempPush = createPushBag(bagId,user,num); + if(!push){ + push = tempPush; + } } } List goodsBagInfo = new ArrayList<>(SRechargeCommodityNewConfig.configMap.size()); @@ -692,8 +699,7 @@ public class BuyGoodsNewLogic { MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.ALL_GIFTGOODS_INDICATION_VALUE, goodsBuild, true); if(popup != 0){ if(isFiveStarBag(popup)){ - if(info.getTEMP_LIMIT()= info.FIVESTARLIMIT){ + return false; + }else{ + info.getTempLimitMap().put(bagId,nn+num); + } + }else{ + info.getTempLimitMap().put(bagId,num); + } if(isFiveStarBag(bagId) && info.getPushMap().get(bagId) != null){ AbstractWelfareBag bag = info.getPushMap().get(bagId); bag.setLimit((bag.getLimit()+num)>info.FIVESTARLIMIT?info.FIVESTARLIMIT:(bag.getLimit()+num)); @@ -847,6 +868,7 @@ public class BuyGoodsNewLogic { bag.setLimit(num); } } + return true; } /** diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/NewRechargeInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/NewRechargeInfo.java index dcd238d21..7b62d31bf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/NewRechargeInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/NewRechargeInfo.java @@ -11,6 +11,7 @@ import java.util.Map; public class NewRechargeInfo extends MongoBase { private double rr;//累计充值 + private double maxSingleR;//单次最大充值金额 private double monthRr ; //月卡累计总额 private double sMonthRr ; //豪华月卡累计总额 @@ -30,8 +31,8 @@ public class NewRechargeInfo extends MongoBase { private long nextPushTime; //上次推送时间 private long lastRefreshTime; - private int TEMP_LIMIT = 0; public static int FIVESTARLIMIT = 2;//临时五星成长礼每天最多两次 + private Map tempLimitMap = new HashMap<>();//五星成长礼每天购买次数 public boolean checkOneGoodsIsOverTimeByPrivilege(int privilegeId){ @@ -259,15 +260,6 @@ public class NewRechargeInfo extends MongoBase { updateString("nextPushTime",nextPushTime); } - public int getTEMP_LIMIT() { - return TEMP_LIMIT; - } - - public void setTEMP_LIMIT(int TEMP_LIMIT) { - this.TEMP_LIMIT = TEMP_LIMIT; - updateString("TEMP_LIMIT",TEMP_LIMIT); - } - public long getLastRefreshTime() { return lastRefreshTime; } @@ -276,4 +268,21 @@ public class NewRechargeInfo extends MongoBase { this.lastRefreshTime = lastRefreshTime; updateString("lastRefreshTime",lastRefreshTime); } + + public double getMaxSingleR() { + return maxSingleR; + } + + public void setMaxSingleR(double maxSingleR) { + this.maxSingleR = maxSingleR; + updateString("maxSingleR",maxSingleR); + } + + public Map getTempLimitMap() { + return tempLimitMap; + } + + public void setTempLimitMap(Map tempLimitMap) { + this.tempLimitMap = tempLimitMap; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index 73bbd5321..47855173d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -32,6 +32,7 @@ import com.ljsd.jieling.logic.item.ItemLogic; import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.player.PlayerLogic; +import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; import com.ljsd.jieling.network.session.ISession; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; @@ -1658,6 +1659,10 @@ public class ItemUtil { } dropBuilder.addPokemon(CBean2Proto.getPokemon(pokemon)); SSpiritAnimal animal = STableManager.getConfig(SSpiritAnimal.class).get(entry.getKey()); + if(animal.getQuality()== 5){ + ISession session = OnlineUserManager.getSessionByUid(user.getId()); + BuyGoodsNewLogic.openPush(session,user,8,5,1); + } ReportUtil.onReportEvent(user,ReportEventEnum.GET_BEAST.getType(),entry.getKey(),animal.getQuality(),reason); if (animal.getQuality() >= SSpecialConfig.getIntegerValue(SSpecialConfig.ANIMAL_BROADCAST_QUALITY)&&reason!=BIReason.COMPOS_HERO_REWARD) { //策划资质改成星级 String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("animal_get_broadcast_content", new Object[]{user.getPlayerInfoManager().getNickName(), animal.getName()},new int[]{0,1});