From 3eb625070ff912b29e374c2c155057f45c55dfcb Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 26 Apr 2021 19:40:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=AD=E4=B9=B0=E5=A6=96=E7=B2=BE=E5=8F=8C?= =?UTF-8?q?=E5=80=8D=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/store/BuyGoodsNewLogic.java | 9 ++++--- .../bean/AbstractWelfareBag.java | 27 +++++++++++++++++++ 2 files changed, 32 insertions(+), 4 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 2bb091a4d..266576baa 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 @@ -178,8 +178,9 @@ public class BuyGoodsNewLogic { pbag.setBuyTimes(pbag.getBuyTimes()+1); } } + int[][] dropByBag = bag.getDropByBag(); //发货 - sendGoodsByType(user,config); + sendGoodsByType(user,config,dropByBag); if(config.getAccumulativeRecharge() == 1){ info.setRr(MathUtils.doubleAdd(price,info.getRr())); @@ -212,7 +213,7 @@ public class BuyGoodsNewLogic { MongoUtil.getLjsdMongoTemplate().lastUpdate(); sendGiftGoodsWithoutJudge(uid); onChargeSuccess(user,price,0,orderId,cfgType);//充值成功上报 - Map mapReward = ItemUtil.arrayToMap(config.getBaseReward()); + Map mapReward = ItemUtil.arrayToMap(dropByBag); if(price>0){ MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.RECHARGE_SUCCESS_INDICATION_VALUE, @@ -315,10 +316,10 @@ public class BuyGoodsNewLogic { /** * 处理特殊类型发货 */ - public static void sendGoodsByType(User user,SRechargeCommodityNewConfig config) throws Exception{ + public static void sendGoodsByType(User user,SRechargeCommodityNewConfig config,int[][] dropArray) throws Exception{ ISession session = OnlineUserManager.getSessionByUid(user.getId()); int type = config.getType(); - CommonProto.Drop.Builder drop = ItemUtil.drop(user, config.getBaseReward(), BIReason.DIRECT_BUY); + CommonProto.Drop.Builder drop = ItemUtil.drop(user,dropArray, BIReason.DIRECT_BUY); //直购礼包 if(type == GiftGoodsType.DIRECTBAG){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/AbstractWelfareBag.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/AbstractWelfareBag.java index 9e7e20dfb..6cad5decf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/AbstractWelfareBag.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/AbstractWelfareBag.java @@ -90,6 +90,31 @@ public class AbstractWelfareBag extends MongoBase{ setLastBuyTime(System.currentTimeMillis()); return true; } + public int[][] getDropByBag() throws Exception{ + SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(modId); + int[][] baseReward = config.getBaseReward(); + int[][] firstMultiple = config.getFirstMultiple(); + int length = baseReward.length; + int[][] result ; + if(buyTimes == 1){ + length += firstMultiple.length; + result = new int[length][]; + int i=0; + for(;i