From f81458662440ceb3941d05de1ccfacf6f70987b0 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Thu, 25 Jul 2019 07:16:34 +0800 Subject: [PATCH] recharge --- .../jieling/logic/activity/ActivityType.java | 2 ++ .../ljsd/jieling/logic/dao/RechargeInfo.java | 21 ++++++++----------- .../jieling/logic/store/BuyGoodsLogic.java | 19 ++++++++++------- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index e4e750440..5cb189ab0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -21,4 +21,6 @@ public interface ActivityType { int FirstRecharge =4; //首充 int RechargeTotal =5; //累计充值 int GrowthFund =6; //成长基金 + + int TREASURE =8; //孙龙的宝藏 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/RechargeInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/RechargeInfo.java index ae2de52b9..b38de1cc6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/RechargeInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/RechargeInfo.java @@ -49,18 +49,15 @@ public class RechargeInfo extends MongoBase{ } public boolean checkOneGoodsIsOverTimeByPrivilege(int privilageId){ - if(privilageId == VipPrivilegeType.UNLOCK_STAR_EXTRA_REWARD){ - for(Map.Entry item: goodseDurationMap.entrySet()){ - SRechargeCommodityConfig sRechargeCommodityConfig = SRechargeCommodityConfig.rechargeCommodityConfigMap.get(item.getKey()); - if (sRechargeCommodityConfig.getType() == GiftGoodsType.LUXURYMONTHCARD && System.currentTimeMillis()/1000 <= item.getValue()){ - return true; - } - } - }else if(privilageId == VipPrivilegeType.UNLOCK_TRIAL_BOMB_REWARD){ - for(Map.Entry item: goodseDurationMap.entrySet()){ - SRechargeCommodityConfig sRechargeCommodityConfig = SRechargeCommodityConfig.rechargeCommodityConfigMap.get(item.getKey()); - if (sRechargeCommodityConfig.getType() == GiftGoodsType.MONTHCARD && System.currentTimeMillis()/1000 <= item.getValue()){ - return true; + for(Map.Entry item: goodseDurationMap.entrySet()){ + SRechargeCommodityConfig sRechargeCommodityConfig = SRechargeCommodityConfig.rechargeCommodityConfigMap.get(item.getKey()); + int[] openPrivilege = sRechargeCommodityConfig.getOpenPrivilege(); + for(int privilege : openPrivilege){ + if(privilege == privilageId){ + if(System.currentTimeMillis()/1000 <= item.getValue()){ + return true; + } + break; } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java index 5026546df..f1ddd589a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java @@ -118,7 +118,7 @@ public class BuyGoodsLogic { endTime += 30 * 24 * 3600; rechargeInfo.updateGoodsTypeDuration(sRechargeCommodityConfig.getId(),endTime); if(needSendMail){ - triggerEvent(user,type,nowTime); + triggerEvent(user,sRechargeCommodityConfig,nowTime); } } @@ -191,9 +191,9 @@ public class BuyGoodsLogic { /** * 购买物品后钩子函数 - * @param goodsType */ - public static void triggerEvent(User user,int goodsType,int nowTime) throws Exception { + public static void triggerEvent(User user,SRechargeCommodityConfig sRechargeCommodityConfig,int nowTime) throws Exception { + int goodsType = sRechargeCommodityConfig.getType(); if(goodsType == GiftGoodsType.LUXURYMONTHCARD){ PlayerLogic.getInstance().sendDayilyMail(user,goodsType); int starReward = user.getMapManager().getStarReward(); @@ -207,14 +207,19 @@ public class BuyGoodsLogic { rewardStr.append(StringUtil.parseArrayToString(extraReward)); starReward--; } - user.getPlayerInfoManager().addVipInfo(VipPrivilegeType.UNLOCK_STAR_EXTRA_REWARD); - String title = SErrorCodeEerverConfig.getI18NMessage("recharge_6_star_title"); - String content = SErrorCodeEerverConfig.getI18NMessage("recharge_6_star_txt"); + + String title = SErrorCodeEerverConfig.getI18NMessage("recharge_6_stars_title"); + String content = SErrorCodeEerverConfig.getI18NMessage("recharge_6_stars_txt"); MailLogic.getInstance().sendMail(user.getId(),title,content,rewardStr.toString(),nowTime, Global.MAIL_EFFECTIVE_TIME); }else if(goodsType == GiftGoodsType.MONTHCARD){ - user.getPlayerInfoManager().addVipInfo(VipPrivilegeType.UNLOCK_TRIAL_BOMB_REWARD); PlayerLogic.getInstance().sendDayilyMail(user,goodsType); } + int[] openPrivilege = sRechargeCommodityConfig.getOpenPrivilege(); + if(openPrivilege!=null && openPrivilege.length>0){ + for(int privilege:openPrivilege){ + user.getPlayerInfoManager().addVipInfo(privilege); + } + } } public static List getGoodsBagInfo(int uid) throws Exception {