From 08c8b779bcd99e81de2129d28af49da9172a5e1c Mon Sep 17 00:00:00 2001 From: duhui Date: Wed, 18 Aug 2021 17:34:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E9=A1=B5=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/CoreService.java | 11 ++--- .../jieling/logic/store/BuyGoodsNewLogic.java | 42 +++++++++++++++---- 2 files changed, 39 insertions(+), 14 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/CoreService.java b/serverlogic/src/main/java/com/ljsd/CoreService.java index 396fa9781..0501823ce 100644 --- a/serverlogic/src/main/java/com/ljsd/CoreService.java +++ b/serverlogic/src/main/java/com/ljsd/CoreService.java @@ -20,6 +20,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.HashSet; +import java.util.List; +import java.util.Set; public class CoreService implements RPCRequestIFace.Iface { private static final Logger LOGGER = LoggerFactory.getLogger(CoreService.class); @@ -54,16 +56,15 @@ public class CoreService implements RPCRequestIFace.Iface { } @Override - public RechargeResult getRecharge(int uid) throws TException { + public RechargeResult getRecharge(int uid) { try { - HashSet integers = new HashSet<>(); -// BuyGoodsLogic.getGoodsBagInfoFromDelive(uid,integers); + Set list = BuyGoodsNewLogic.getGoodsBagInfoFromDelive(uid); RechargeResult result = new RechargeResult(); result.setResultCode(1); - result.setSubNodeSet(integers); + result.setSubNodeSet(list); return result; }catch (Exception e){ - User user = UserManager.getUserInMem(uid); + User user = UserManager.getUserInMem(uid); RechargeResult result = new RechargeResult(); result.setResultCode(0); if(user == null){ 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 713c4c83b..f85bcdcdd 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 @@ -622,20 +622,44 @@ public class BuyGoodsNewLogic { giftGoodsInfoList.add(buildGoodsInfo(bag)); } } - giftGoodsInfoList.sort(new Comparator() { - @Override - public int compare(CommonProto.GiftGoodsInfo o1, CommonProto.GiftGoodsInfo o2) { - if(o1.getGoodsId() > o2.getGoodsId()){ - return 1; - }else if(o1.getGoodsId() < o2.getGoodsId()){ - return -1; - } - return 0; + giftGoodsInfoList.sort((o1, o2) -> { + if(o1.getGoodsId() > o2.getGoodsId()){ + return 1; + }else if(o1.getGoodsId() < o2.getGoodsId()){ + return -1; } + return 0; }); return needChange; } + public static Set getGoodsBagInfoFromDelive(int uid) throws Exception { + User user = UserManager.getUser(uid); + Set list = new HashSet<>(); + NewRechargeInfo rechargeInfo = user.getPlayerInfoManager().getNewRechargeInfo(); + for(AbstractWelfareBag bag : rechargeInfo.getPerpetualMap().values()){ + if(bag.isOpen()){ + list.add(bag.getModId()); + } + } + for(AbstractWelfareBag bag : rechargeInfo.getTimeLimitMap().values()){ + if(bag.isOpen()){ + list.add(bag.getModId()); + } + } + for(AbstractWelfareBag bag : rechargeInfo.getReceiveMap().values()){ + if(bag.isOpen()){ + list.add(bag.getModId()); + } + } + for(AbstractWelfareBag bag : rechargeInfo.getPushMap().values()){ + if(bag.isOpen()){ + list.add(bag.getModId()); + } + } + return list; + } + public static CommonProto.GiftGoodsInfo buildGoodsInfo(AbstractWelfareBag bag){ CommonProto.GiftGoodsInfo.Builder builder = CommonProto.GiftGoodsInfo.newBuilder(); builder.setGoodsId(bag.getModId());