From 8966f25c5b38c2e92e69f7e5cbb0d1950b0a1712 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 15 Mar 2021 11:09:03 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=90=E6=97=B6=E7=A5=9E=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/RechargeTotalActivity.java | 2 +- .../eventhandler/LeveGiftEventHander.java | 35 ++++++++++++------- .../src/main/java/config/SSpecialConfig.java | 1 + 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeTotalActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeTotalActivity.java index 416b60903..4bd71de8a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeTotalActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeTotalActivity.java @@ -22,7 +22,7 @@ class RechargeTotalActivity extends AbstractActivity { User user = UserManager.getUser(session.getUid()); RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo(); int days = TimeUtils.differentDaysByHour(rechargeInfo.getCreateTime(), now,0) + 1; - if (missionProgress/1000 < values[0][0] || days < values[0][1]) { + if (missionProgress <= 0 || days < values[0][1]) { return false; } return true; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/LeveGiftEventHander.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/LeveGiftEventHander.java index 082fbb4b7..2322b0e1d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/LeveGiftEventHander.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/LeveGiftEventHander.java @@ -32,18 +32,26 @@ public class LeveGiftEventHander implements IEventHandler { public void onEvent(IEvent event) throws Exception { if(event instanceof UserLevelEvent){ + User user = UserManager.getUser(((UserLevelEvent) event).getUid()); + RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo(); + int[] shenZhuangRule = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SHEN_ZHUANG); + if(((UserLevelEvent) event).getLevel()==shenZhuangRule[0]){ + rechargeInfo.addDyGoodsCanBuyTimes(10001); + rechargeInfo.putLevelAndMoneyBagMap(-1,System.currentTimeMillis()); + +// rechargeInfo.putLevelAndMoneyBagMap(shenZhuangRule[1],System.currentTimeMillis()); + giftIndication(user,new ArrayList<>(1)); + } int[] onceArrayValue = SSpecialConfig.getOnceArrayValue(SSpecialConfig.DISCOUNT_LEVEL); int start = onceArrayValue[0]; int inter = onceArrayValue[1]; if(((UserLevelEvent) event).getLevel() entry = SRechargeCommodityConfig.rechargePlayerLevelMap.floorEntry((int)saveAmt); SRechargeCommodityConfig orDefault = STableManager.getConfig(SRechargeCommodityConfig.class).getOrDefault(entry.getValue(), null); @@ -67,18 +75,19 @@ public class LeveGiftEventHander implements IEventHandler { // BuyGoodsLogic.sendGiftGooodsIndication(user.getId()); List goodsBagInfo = new ArrayList<>(SRechargeCommodityConfig.rechargeCommodityConfigMap.size()); - BuyGoodsLogic.getGoodsBagInfo(user.getId(), goodsBagInfo,false); - ISession session = OnlineUserManager.getSessionByUid(user.getId()); - if(session!=null){ - if(null!= SimpleTransaction.current()){ - //获得多个英雄进行协议合并 - PlayerInfoProto.AllGiftGoodsIndication.Builder build = PlayerInfoProto.AllGiftGoodsIndication.newBuilder().addAllGiftGoodsInfo(goodsBagInfo); - SimpleTransaction.current().dealWhileCommit(new SimpleTransaction.SendTask(build.build(), MessageTypeProto.MessageType.ALL_GIFTGOODS_INDICATION_VALUE)); - } + giftIndication(user,goodsBagInfo); + } + } + + private void giftIndication(User user,List goodsBagInfo) throws Exception { + BuyGoodsLogic.getGoodsBagInfo(user.getId(), goodsBagInfo,false); + ISession session = OnlineUserManager.getSessionByUid(user.getId()); + if(session!=null){ + if(null!= SimpleTransaction.current()){ + //获得多个英雄进行协议合并 + PlayerInfoProto.AllGiftGoodsIndication.Builder build = PlayerInfoProto.AllGiftGoodsIndication.newBuilder().addAllGiftGoodsInfo(goodsBagInfo); + SimpleTransaction.current().dealWhileCommit(new SimpleTransaction.SendTask(build.build(), MessageTypeProto.MessageType.ALL_GIFTGOODS_INDICATION_VALUE)); } } - - - } } diff --git a/tablemanager/src/main/java/config/SSpecialConfig.java b/tablemanager/src/main/java/config/SSpecialConfig.java index 99820abf0..360b5a9d5 100644 --- a/tablemanager/src/main/java/config/SSpecialConfig.java +++ b/tablemanager/src/main/java/config/SSpecialConfig.java @@ -96,6 +96,7 @@ public class SSpecialConfig implements BaseConfig { public static final String SKILL_EFFECT_TGMB = "skill_effect_tgmb";//天宫秘宝购买特权带来的攻击提升万分比(只在天宫生效) public static final String GUILD_LEADER_PASS_TIME = "GuildLeaderPassTime";//会长不上线移交时长 public static final String GUILD_DISMISS_TIME ="GuildDismissTime";//公会全员不上线解散时长 + public static final String SHEN_ZHUANG = "ShenZhuang";//神装礼包推送等级 @Override public void init() throws Exception {