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..a1ccc0803 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(shenZhuangRule!=null&&shenZhuangRule.length>0&&((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/serverlogic/src/main/java/com/ljsd/jieling/network/server/SessionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/network/server/SessionManager.java index da8ce8731..cbd9e8cba 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/network/server/SessionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/network/server/SessionManager.java @@ -188,6 +188,15 @@ public class SessionManager implements INetSession, INetReceived