浏览代码

新增活动类型&&购买现金券不涨vip经验

Jim 10 月之前
父节点
当前提交
7d2a0195fb

+ 17 - 8
serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java

@@ -150,7 +150,7 @@ public class ActivityLogic implements IEventHandler {
             long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 1);
             long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2);
             long gapEndTime = endTime + sGlobalActivity.getGapTime() * TimeUtils.DAY;
-            if (now < startTime) {
+            if (now < startTime || sGlobalActivity.getIsOpen() == 0) {
                 //如果没到活动开启时间,但是openActivityIds里有了这个活动,证明是热更延迟开启的活动,需要清除掉
                 if (openActivityIds.contains(sGlobalActivity.getId())) {
                     openActivityIds.remove(sGlobalActivity.getId());
@@ -261,6 +261,10 @@ public class ActivityLogic implements IEventHandler {
 
     private static boolean isOpen(SGlobalActivity sGlobalActivity) {
         boolean isOpen = true;
+        if (sGlobalActivity.getIsOpen() == 0) {
+            isOpen = false;
+            return isOpen;
+        }
         int[][] ifOpen = sGlobalActivity.getIfOpen();
         if (ifOpen != null && ifOpen.length > 0) {
             for (int i = 0; i < ifOpen.length ; i++) {
@@ -918,7 +922,9 @@ public class ActivityLogic implements IEventHandler {
             ActivityEndDelItem(user,activityIdList);   //活动结束 删除对应的背包道具
         }
 
-
+        for (CommonProto.ActivityInfo activityInfo : activityInfoList) {
+            LOGGER.info("the uid={},getAllActivityInfo={}", uid, activityInfo.getActivityId());
+        }
         builder.addAllActivityInfo(activityInfoList);
         sendLuckWheelPool(user, session);
         MessageUtil.sendMessage(session, 1, rewardResponseValue, builder.build(), true);
@@ -2354,8 +2360,9 @@ public class ActivityLogic implements IEventHandler {
         User user = UserManager.getUser(iSession.getUid());
 
         int relationActivityId = activityId;
-        if(SWishActivityRelationConfig.getWishActivityRelationMapByActivityId().values().contains(activityId)) {
-            relationActivityId = SWishActivityRelationConfig.getWishActivityRelationMapByActivityId().get(activityId);
+        Map<Integer, Integer> map = SWishActivityRelationConfig.getWishActivityRelationMapByActivityId();
+        if (map != null && map.containsKey(activityId)) {
+            relationActivityId = map.get(activityId);
         }
 
         ActivityManager activityManager = user.getActivityManager();
@@ -2399,8 +2406,9 @@ public class ActivityLogic implements IEventHandler {
         User user = UserManager.getUser(iSession.getUid());
 
         int relationActivityId = activityId;
-        if(!SWishActivityRelationConfig.getWishActivityRelationMapByActivityId().values().contains(activityId)){
-            relationActivityId = SWishActivityRelationConfig.getWishActivityRelationMapByActivityId().get(activityId);
+        Map<Integer, Integer> map = SWishActivityRelationConfig.getWishActivityRelationMapByActivityId();
+        if (map != null && map.containsKey(activityId)) {
+            relationActivityId = map.get(activityId);
         }
 
         ActivityManager activityManager = user.getActivityManager();
@@ -2453,8 +2461,9 @@ public class ActivityLogic implements IEventHandler {
         User user = UserManager.getUser(iSession.getUid());
 
         int relationActivityId = activityId;
-        if(!SWishActivityRelationConfig.getWishActivityRelationMapByActivityId().values().contains(activityId)){
-            relationActivityId = SWishActivityRelationConfig.getWishActivityRelationMapByActivityId().get(activityId);
+        Map<Integer, Integer> map = SWishActivityRelationConfig.getWishActivityRelationMapByActivityId();
+        if (map != null && map.containsKey(activityId)) {
+            relationActivityId = map.get(activityId);
         }
 
         ActivityManager activityManager = user.getActivityManager();

+ 1 - 0
serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java

@@ -139,4 +139,5 @@ public interface ActivityType {
     int KAIFU_REWARD = 202;                  //开服有奖
 
     int MORE_MONEY = 8881; // 千万金钱
+    int HERORANDOM_GIFT = 72; // 精锐礼包
 }

+ 1 - 0
serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java

@@ -104,6 +104,7 @@ public enum ActivityTypeEnum {
     FOREVER_MEMBER_PLUS(ActivityType.FOREVER_MEMBER_PLUS,ForeverMemberActivity::new), //高级终身会员
     REALGROWTHFUND(ActivityType.RealGrowthFund, GrowthFundActivity::new),
     LEVELREWARD(ActivityType.MORE_MONEY, LevelRewardActivity::new),
+    HERORANDOM_GIFT(ActivityType.HERORANDOM_GIFT, DefaultEmptyActivity::new),
     ;
     private int type;
     private Function<Integer, AbstractActivity> toActivityFunction;

+ 5 - 2
serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java

@@ -1361,8 +1361,11 @@ public class BuyGoodsLogic {
                 if (rechargeInfo.getMaxSingleR() < price) {
                     rechargeInfo.setMaxSingleR(price);
                 }
-                double saveAmt = rechargeInfo.getSaveAmt();
-                rechargeInfo.setSaveAmt(MathUtils.doubleAdd(price, saveAmt));
+                // 购买现金券不加vip经验(排除现金券礼包)
+                if (sRechargeCommodityConfig.getVoucherPrice() != -1 || type == GiftGoodsType.VOUCHER_PRIVILEGE) {
+                    double saveAmt = rechargeInfo.getSaveAmt();
+                    rechargeInfo.setSaveAmt(MathUtils.doubleAdd(price, saveAmt));
+                }
                 user.getPlayerInfoManager().addRechargedaily(price);
                 user.getPlayerInfoManager().getMonthCard();
                 rechargeInfo.setMonthSaveAmt(MathUtils.doubleAdd(price, rechargeInfo.getMonthSaveAmt()));