From 6020686a9c9e2a3deca74709b48996f233228505 Mon Sep 17 00:00:00 2001 From: jiahuiwen Date: Thu, 9 Sep 2021 16:32:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9D=E7=89=A9=E7=A4=BC=E5=8C=85=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/store/BuyGoodsNewLogic.java | 3 +++ .../java/com/ljsd/jieling/util/ItemUtil.java | 22 ++++++++++++++----- 2 files changed, 19 insertions(+), 6 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 52fe2a294..c12226be8 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 @@ -870,6 +870,9 @@ public class BuyGoodsNewLogic { if(id >= 7300 && id <= 7304){ return true; } + if(id >= 1100 && id <= 1104){ + return true; + } return false; } 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 38722c32c..ce352f22c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -1148,6 +1148,8 @@ public class ItemUtil { StringBuilder reward = new StringBuilder(); List equipList = new CopyOnWriteArrayList<>(); List jewelList = new CopyOnWriteArrayList<>(); + // jewelMap 为了做宝物礼包推送<宝物品质, 数量> + Map jewelMap = new HashMap<>(); for (Map.Entry entry : equipMap.entrySet()) { int itemType = SItem.getsItemMap().get(entry.getKey()).getItemType(); if(!filter.contains(itemType)){ @@ -1163,7 +1165,7 @@ public class ItemUtil { } continue; } - addEquip(user, entry.getKey(), equipList,jewelList); + addEquip(user, entry.getKey(), jewelMap,jewelList); ReportUtil.onReportEvent(user,ReportEventEnum.GET_TREASURE.getType(),entry.getKey(),reason); // KtEventUtils.onKtEvent(user, ParamEventBean.UserItemEvent,reason,GlobalsDef.addReason,entry.getKey(),1,-1); } @@ -1174,6 +1176,15 @@ public class ItemUtil { MailLogic.getInstance().sendMail(user.getId(), title, content, reward.toString(), nowTime, Global.MAIL_EFFECTIVE_TIME); MessageUtil.nofityBagIsFull(user); } + if (!jewelMap.isEmpty()) { + ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); + if (sessionByUid != null) { + for (Map.Entry entry : jewelMap.entrySet()) { + BuyGoodsNewLogic.openPush(sessionByUid, user, PushRechargeType.BAOWU_PINGZHI.getType(), entry.getKey(), entry.getValue()); + } + + } + } dropBuilder.addAllEquipId(equipList); dropBuilder.addAllSoulEquip(jewelList); } @@ -1198,7 +1209,7 @@ public class ItemUtil { return reward.toString(); } - private static void addEquip(User user,int equipId ,List equipList,List jewelList) throws Exception { + private static void addEquip(User user,int equipId ,Map jewels,List jewelList) throws Exception { EquipManager equipManager = user.getEquipManager(); SItem item = SItem.getsItemMap().get(equipId); int itemType = item.getItemType(); @@ -1208,11 +1219,10 @@ public class ItemUtil { equipManager.addEquip(user,equip); jewelList.add(CBean2Proto.getEquipProto(equip)); msgTem="lamp_lottery_equip_content"; - - ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); - if (sessionByUid != null) { - BuyGoodsNewLogic.openPush(sessionByUid, user, PushRechargeType.BAOWU_PINGZHI.getType(), item.getQuantity(), 1); + if (!jewels.containsKey(item.getQuantity())) { + jewels.put(item.getQuantity(), 0); } + jewels.put(item.getQuantity(), jewels.get(item.getQuantity()) + 1); } if (item.getQuantity() >= SSpecialConfig.getIntegerValue(msgTem+"_parm")) { String nickName = user.getPlayerInfoManager().getNickName();