From 433ef982655572a01509997a67458017b2718890 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 14 Aug 2020 23:08:45 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=85=85=E5=80=BC=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamecommon/src/main/java/util/MathUtils.java | 7 +++ .../jieling/handler/GetPlayerInfoHandler.java | 2 +- .../logic/activity/DailyRechargeActivity.java | 6 +- .../logic/activity/LuckyCatActivity.java | 2 +- .../logic/activity/RechargeSumActivity.java | 6 +- .../activity/RechargeSumDayActivity.java | 2 +- .../logic/activity/RechargeTotalActivity.java | 2 +- .../eventhandler/LeveGiftEventHander.java | 4 +- .../ljsd/jieling/logic/dao/PlayerManager.java | 11 ++-- .../ljsd/jieling/logic/dao/RechargeInfo.java | 36 +++++------ .../jieling/logic/player/PlayerLogic.java | 4 +- .../jieling/logic/store/BuyGoodsLogic.java | 61 ++++++++++--------- .../logic/store/RechargeEventProp.java | 6 +- .../com/ljsd/jieling/util/CBean2Proto.java | 2 +- .../java/config/SRechargeCommodityConfig.java | 4 +- 15 files changed, 88 insertions(+), 67 deletions(-) diff --git a/gamecommon/src/main/java/util/MathUtils.java b/gamecommon/src/main/java/util/MathUtils.java index ad5f9a1f9..4e4120161 100644 --- a/gamecommon/src/main/java/util/MathUtils.java +++ b/gamecommon/src/main/java/util/MathUtils.java @@ -3,6 +3,7 @@ package util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.math.BigDecimal; import java.util.*; import java.util.concurrent.ThreadLocalRandom; @@ -367,4 +368,10 @@ public class MathUtils { return result; } + public static double doubleAdd(double d1 ,double d2){ + BigDecimal b1 = new BigDecimal(Double.toString(d1)); + BigDecimal b2 = new BigDecimal(Double.toString(d2)); + return b1.add(b2).doubleValue(); + } + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index 4316b8140..bd9249d88 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -172,7 +172,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ .setQuestionState(questState) .setSoulEquipPool(equipPool) .addAllPlayedMapTypes(mapManager.getPlayedMapType()) - .setAmount(rechargeInfo.getSaveAmt()) + .setAmount((int) rechargeInfo.getSaveAmt()) .setVipDaily(playerInfoManager.getHadTakeDailyBoxVip()) .setMissingRefreshCount(vipPrivilageValue) .addAllMonthinfos(PlayerLogic.getInstance().getMonthCardInfo(user)) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DailyRechargeActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DailyRechargeActivity.java index 01201d169..4c28f03b5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DailyRechargeActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DailyRechargeActivity.java @@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.activity; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; import config.SActivityRewardConfig; @@ -43,7 +44,10 @@ class DailyRechargeActivity extends AbstractActivity { @Override boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { - return checkValue(session, sActivityRewardConfig, activityProgressInfo); + int[][] values = sActivityRewardConfig.getValues(); + User user = UserManager.getUser(session.getUid()); + int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getV(); + return value/1000 >= values[0][0]; } @Override diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LuckyCatActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LuckyCatActivity.java index ec1c96bd1..2d7cc6b51 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LuckyCatActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LuckyCatActivity.java @@ -77,7 +77,7 @@ public class LuckyCatActivity extends AbstractActivity { throw new ErrorCodeException(ErrorCode.CFG_NULL); } - if (activityMission.getV() < sLuckyRewardConfig.getRmbValue()) { + if (activityMission.getV()/1000 < sLuckyRewardConfig.getRmbValue()) { throw new ErrorCodeException(ErrorCode.newDefineCode("value illegality")); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeSumActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeSumActivity.java index 668b9a65e..1c79097eb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeSumActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeSumActivity.java @@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.activity; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; import config.SActivityRewardConfig; @@ -31,7 +32,10 @@ class RechargeSumActivity extends AbstractActivity { @Override boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { - return checkValue(session, sActivityRewardConfig, activityProgressInfo); + int[][] values = sActivityRewardConfig.getValues(); + User user = UserManager.getUser(session.getUid()); + int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getV(); + return value/1000 >= values[0][0]; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeSumDayActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeSumDayActivity.java index 577ac9efd..dbe2dd14b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeSumDayActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/RechargeSumDayActivity.java @@ -38,7 +38,7 @@ class RechargeSumDayActivity extends AbstractActivity { if (activityProgressInfo == null || activityProgressInfo.getProgrss() == 1) { return; } - if (count >= SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId).getValues()[0][0]) { + if (count/1000 >= SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId).getValues()[0][0]) { activityProgressInfo.setProgrss(1); } 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 93f6b4728..006ad5b28 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,5) + 1; - if (missionProgress < values[0][0] || days < values[0][1]) { + if (missionProgress/1000 < values[0][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 dad1d0568..a3e09350e 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 @@ -46,8 +46,8 @@ public class LeveGiftEventHander implements IEventHandler { return; } RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo(); - int saveAmt = rechargeInfo.getSaveAmt(); - Map.Entry entry = SRechargeCommodityConfig.rechargePlayerLevelMap.floorEntry(saveAmt); + double saveAmt = rechargeInfo.getSaveAmt(); + Map.Entry entry = SRechargeCommodityConfig.rechargePlayerLevelMap.floorEntry((int)saveAmt); SRechargeCommodityConfig orDefault = STableManager.getConfig(SRechargeCommodityConfig.class).getOrDefault(entry.getValue(), null); if(orDefault==null){ return; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java index 74674defb..6035c8bfc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java @@ -8,6 +8,7 @@ import com.ljsd.jieling.logic.dao.root.User; import config.SMonthcardConfig; import config.SPrivilegeTypeConfig; import manager.STableManager; +import util.MathUtils; import util.TimeUtils; import java.util.*; @@ -85,7 +86,7 @@ public class PlayerManager extends MongoBase { private int signTotay;//今天是否签到 - private int rechargedaily; + private double rechargedaily; private long onlineTime; @@ -487,17 +488,17 @@ public class PlayerManager extends MongoBase { return signTotay; } - public int getRechargedaily() { + public double getRechargedaily() { return rechargedaily; } - public void setRechargedaily(int rechargedaily) { + public void setRechargedaily(double rechargedaily) { updateString("rechargedaily", rechargedaily); this.rechargedaily = rechargedaily; } - public void addRechargedaily(int rechargedaily) { - this.rechargedaily += rechargedaily; + public void addRechargedaily(double rechargedaily) { + this.rechargedaily = MathUtils.doubleAdd(rechargedaily,this.rechargedaily); updateString("rechargedaily", this.rechargedaily); } 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 2d838b62c..5f68540c2 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 @@ -9,10 +9,12 @@ import java.util.*; public class RechargeInfo extends MongoBase{ - private int saveAmt;//累计充值 + private double saveAmt;//累计充值 private int soulCrystalAmt;//累计充值购买魂晶 - private int monthSaveAmt ; //月卡累计总额 - private int smonthSaveAmt ; //豪华月卡累计总额 + + private double monthSaveAmt ; //月卡累计总额 + private double smonthSaveAmt ; //豪华月卡累计总额 + private int isFirst; private long createTime; private int isDayFirst; @@ -95,7 +97,7 @@ public class RechargeInfo extends MongoBase{ return false; } - public void setSaveAmt(int saveAmt){ + public void setSaveAmt(double saveAmt){ if(this.saveAmt == 0){ createTime = System.currentTimeMillis(); updateString("createTime",createTime); @@ -143,7 +145,7 @@ public class RechargeInfo extends MongoBase{ } - public int getSaveAmt() { + public double getSaveAmt() { return saveAmt; } @@ -180,14 +182,14 @@ public class RechargeInfo extends MongoBase{ this.goodseSendDailyMap.put(goodsType,sendTime); } - public int getSoulCrystalAmt() { - return soulCrystalAmt; - } - - public void addSoulCrystalAmt(int soulCrystalAmt) { - this.soulCrystalAmt += soulCrystalAmt; - updateString("soulCrystalAmt",soulCrystalAmt); - } +// public int getSoulCrystalAmt() { +// return soulCrystalAmt; +// } +// +// public void addSoulCrystalAmt(int soulCrystalAmt) { +// this.soulCrystalAmt += soulCrystalAmt; +// updateString("soulCrystalAmt",soulCrystalAmt); +// } public Map getTypeBagMap() { return typeBagMap; @@ -243,20 +245,20 @@ public class RechargeInfo extends MongoBase{ updateString("refreshBagMap", refreshBagMap); } - public int getMonthSaveAmt() { + public double getMonthSaveAmt() { return monthSaveAmt; } - public void setMonthSaveAmt(int monthSaveAmt) { + public void setMonthSaveAmt(double monthSaveAmt) { this.monthSaveAmt = monthSaveAmt; updateString("monthSaveAmt",monthSaveAmt); } - public int getSmonthSaveAmt() { + public double getSmonthSaveAmt() { return smonthSaveAmt; } - public void setSmonthSaveAmt(int smonthSaveAmt) { + public void setSmonthSaveAmt(double smonthSaveAmt) { this.smonthSaveAmt = smonthSaveAmt; updateString("smonthSaveAmt",smonthSaveAmt); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index 5794ba83d..d3a81b767 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -938,8 +938,8 @@ public class PlayerLogic { STableManager.getConfig(SMonthcardConfig.class).forEach((integer, sMonthcardConfig) -> { int time = playerInfoManager.getMonthCard().getOrDefault(integer,0); int state = playerInfoManager.getMonthCardDailyTake().contains(integer)?1:0; - int saveAmt = integer==1?rechargeInfo.getMonthSaveAmt():rechargeInfo.getSmonthSaveAmt(); - cardInfos.add(CommonProto.MonthCardInfo.newBuilder().setId(integer).setEndingTime(time).setState(state).setTotleAmt(saveAmt).build()); + double saveAmt = integer==1?rechargeInfo.getMonthSaveAmt():rechargeInfo.getSmonthSaveAmt(); + cardInfos.add(CommonProto.MonthCardInfo.newBuilder().setId(integer).setEndingTime(time).setState(state).setTotleAmt((int)saveAmt).build()); }); return cardInfos; } 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 a465f9a2a..f7868dbd2 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 @@ -39,9 +39,11 @@ import config.*; import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import util.MathUtils; import util.StringUtil; import util.TimeUtils; +import java.math.BigDecimal; import java.util.*; /** @@ -73,12 +75,12 @@ public class BuyGoodsLogic { } MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TEST_BUY_GIGT_GOODS_RESPONSE_VALUE,null,true); Result result = sendGoods(uid, goodsId, "gm-test", "111111", System.currentTimeMillis(), -999); - User user = UserManager.getUser(uid); - int price =sRechargeCommodityConfig.getPrice(); - int isDiscount = sRechargeCommodityConfig.getIsDiscount(); - if(isDiscount!=0){ - price=(int)(sRechargeCommodityConfig.getPrice() * (10 + isDiscount)/10f); - } +// User user = UserManager.getUser(uid); +// int price =sRechargeCommodityConfig.getPrice(); +// int isDiscount = sRechargeCommodityConfig.getIsDiscount(); +// if(isDiscount!=0){ +// price=(int)(sRechargeCommodityConfig.getPrice() * (10 + isDiscount)/10f); +// } List itemList = new ArrayList<>(); for(int[] item:sRechargeCommodityConfig.getBaseReward()){ itemList.add(item[0]); @@ -108,7 +110,7 @@ public class BuyGoodsLogic { if(buyCount ==null){ buyCount = 0; } - int price =sRechargeCommodityConfig.getPrice(); + double price =sRechargeCommodityConfig.getPrice(); buyCount=buyCount+1; //time check @@ -171,11 +173,11 @@ public class BuyGoodsLogic { int monthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.MONTHCARDID).getPrice(); int lmonthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.LMONTHCARDID).getPrice(); boolean sendneed =false; - if(rechargeInfo.getMonthSaveAmt()=monthline){ + if(rechargeInfo.getMonthSaveAmt()=monthline){ sendneed=true; user.getPlayerInfoManager().getMonthCard().put(Global.MONTHCARDID, (int) (System.currentTimeMillis() / 1000)); } - if(rechargeInfo.getSmonthSaveAmt()=lmonthline){ + if(rechargeInfo.getSmonthSaveAmt()=lmonthline){ sendneed=true; user.getPlayerInfoManager().getMonthCard().put(Global.LMONTHCARDID, (int) (System.currentTimeMillis() / 1000)); Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.RECHARGE_BUY.getType(),Global.LMONTHCARDID)); @@ -247,30 +249,31 @@ public class BuyGoodsLogic { rewardStr = ItemUtil.getMailReward(baseReward); } if(sRechargeCommodityConfig.getAccumulativeRecharge() == 1){ - int saveAmt = rechargeInfo.getSaveAmt(); - if(!StringUtil.isEmpty(rewardStr)){ - int[][] costItemArr = StringUtil.parseFiledInt2(rewardStr); - for (int i = 0; i Date: Fri, 14 Aug 2020 23:18:18 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=85=85=E5=80=BC=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/store/BuyGoodsLogic.java | 4 +- .../src/main/java/config/SExchangeRate.java | 67 +++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 tablemanager/src/main/java/config/SExchangeRate.java 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 f7868dbd2..89320f87f 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 @@ -110,7 +110,9 @@ public class BuyGoodsLogic { if(buyCount ==null){ buyCount = 0; } - double price =sRechargeCommodityConfig.getPrice(); + double priceTemp =sRechargeCommodityConfig.getPrice(); + SExchangeRate sExchangeRate = STableManager.getConfig(SExchangeRate.class).get(priceTemp); + double price = sExchangeRate.getPrice_2(); buyCount=buyCount+1; //time check diff --git a/tablemanager/src/main/java/config/SExchangeRate.java b/tablemanager/src/main/java/config/SExchangeRate.java new file mode 100644 index 000000000..7fa7c8ad3 --- /dev/null +++ b/tablemanager/src/main/java/config/SExchangeRate.java @@ -0,0 +1,67 @@ +package config; + +import manager.STableManager; +import manager.Table; + +import java.util.Map; + +@Table(name ="ExchangeRate") +public class SExchangeRate implements BaseConfig { + + private int id; + + private int price_1; + + private float price_2; + + private float price_3; + + private float price_4; + + private float price_5; + + private float price_6; + + private float price_7; + + + @Override + public void init() throws Exception { + + } + + + public int getId() { + return id; + } + + public int getPrice_1() { + return price_1; + } + + public float getPrice_2() { + return price_2; + } + + public float getPrice_3() { + return price_3; + } + + public float getPrice_4() { + return price_4; + } + + public float getPrice_5() { + return price_5; + } + + public float getPrice_6() { + return price_6; + } + + public float getPrice_7() { + return price_7; + } + + +} \ No newline at end of file From 47bfc8c339139221c9010db521d0aaae150b1afd Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 14 Aug 2020 23:19:12 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=85=85=E5=80=BC=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/kefu/Cmd_changename.java | 111 ------------------ 1 file changed, 111 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_changename.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_changename.java index 02d60de2b..ed1d423c3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_changename.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_changename.java @@ -85,118 +85,7 @@ public class Cmd_changename extends GmRoleAbstract { } } if("recharge".equals(args[2])){ - Gson gson = new Gson(); - Map rechargeInfoMap = new HashMap<>(); - - Map realBuyGoodsTimes = new HashMap<>(); - Map hotGoods = new HashMap<>(); - rechargeInfoMap= gson.fromJson(args[3],rechargeInfoMap.getClass()); - String rechargeInfoFileStr = rechargeInfoMap.get(String.valueOf(user.getId())); - if(rechargeInfoFileStr == null){ - return false; - } - RechargeInfo rechargeInfoFile = gson.fromJson(rechargeInfoFileStr,RechargeInfo.class); - realBuyGoodsTimes = rechargeInfoFile.getBuyGoodsTimes(); - hotGoods=new HashMap<>(realBuyGoodsTimes); - Map oldBuyGoodsTimes = user.getPlayerInfoManager().getRechargeInfo().getBuyGoodsTimes(); - - for (Map.Entry entry:oldBuyGoodsTimes.entrySet() ) { - if(realBuyGoodsTimes.containsKey(entry.getKey())){ - int finalvalue = realBuyGoodsTimes.get(entry.getKey())-entry.getValue(); - - if(finalvalue==0){ - realBuyGoodsTimes.remove(entry.getKey()); - }else if(finalvalue>0){ - realBuyGoodsTimes.put(entry.getKey(),finalvalue); - }else { - //日志记录不对 - LOGGER.info("cmd_________recharge:err"); - return false; - } - - } - } - - int hotRechargeMoney = 0; - for (Map.Entry entry:realBuyGoodsTimes.entrySet()) { - if(entry.getKey()==1||entry.getKey()==2||entry.getKey()==3||entry.getKey()==4||entry.getKey()==5||entry.getKey()==13||entry.getKey()==14||entry.getKey()==15||entry.getKey()==16){ - SRechargeCommodityConfig sRechargeCommodityConfig = SRechargeCommodityConfig.rechargeCommodityConfigMap.get(entry.getKey()); - int price =sRechargeCommodityConfig.getPrice(); - hotRechargeMoney+=entry.getValue()*price; - } - } - - //月卡 - boolean mulvip =false; - if(realBuyGoodsTimes.containsKey(9)||realBuyGoodsTimes.containsKey(10)||realBuyGoodsTimes.containsKey(11)){ - mulvip =true; - } - - - RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo(); - int saveAmt = rechargeInfo.getSaveAmt(); - - - //成长礼金 - if(realBuyGoodsTimes.containsKey(7)||realBuyGoodsTimes.containsKey(8)){ - // if(!user.getActivityManager().getActivityMissionMap().containsKey(6)){ - ActivityLogic.getInstance().openActivityReallyOpen(user, ActivityType.GrowthFund); - //} - } -// int[][] costItemArr = StringUtil.parseFiledInt2(rewardStr); -// for (int i = 0; i goodsDurationMap = user.getPlayerInfoManager().getRechargeInfo().getGoodsDurationMap(); - Integer nowTime =(int)(System.currentTimeMillis()/1000); - for(Integer goodsId : hotGoods.keySet()){ - if(goodsDurationMap.containsKey(goodsId)){ - LOGGER.info("the uid={} already send the goods={}",user.getId(),goodsId); - continue; - } - SRechargeCommodityConfig sRechargeCommodityConfig = SRechargeCommodityConfig.rechargeCommodityConfigMap.get(goodsId); - int goodsType = sRechargeCommodityConfig.getType(); - if(goodsType == GiftGoodsType.MONTHCARD || goodsType == GiftGoodsType.LUXURYMONTHCARD || goodsType == GiftGoodsType.WEEKCARD){ - Integer endTime = null; - boolean needSendMail = false; - for(Map.Entry goodsDurationItem : goodsDurationMap.entrySet()){ - if(SRechargeCommodityConfig.rechargeCommodityConfigMap.get(goodsDurationItem.getKey()).getType() == goodsType){ - endTime = goodsDurationItem.getValue(); - } - } - if(endTime == null || nowTime>endTime){ - endTime = nowTime; - needSendMail = true; - } - - endTime +=sRechargeCommodityConfig.getContiueDays() * 24 * 3600; - rechargeInfo.updateGoodsTypeDuration(sRechargeCommodityConfig.getId(),endTime); - if(needSendMail){ - int[] openPrivilege = sRechargeCommodityConfig.getOpenPrivilege(); - if(openPrivilege!=null && openPrivilege.length>0){ - for(int privilege:openPrivilege){ - user.getPlayerInfoManager().addVipInfo(privilege); - } - } - } - } - } - - - - user.getPlayerInfoManager().getRechargeInfo().setBuyGoodsTimes(hotGoods); - - LOGGER.info("cmd_________recharge:hotRechargeMoney"+hotRechargeMoney+"重复月卡:"+mulvip); } } From 0a162ccce7ab3fee90bda706389353cc4912483f Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 14 Aug 2020 23:41:23 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=85=85=E5=80=BC=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java | 2 +- .../main/java/com/ljsd/jieling/logic/player/PlayerLogic.java | 2 +- .../src/main/java/com/ljsd/jieling/util/CBean2Proto.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index bd9249d88..4316b8140 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -172,7 +172,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ .setQuestionState(questState) .setSoulEquipPool(equipPool) .addAllPlayedMapTypes(mapManager.getPlayedMapType()) - .setAmount((int) rechargeInfo.getSaveAmt()) + .setAmount(rechargeInfo.getSaveAmt()) .setVipDaily(playerInfoManager.getHadTakeDailyBoxVip()) .setMissingRefreshCount(vipPrivilageValue) .addAllMonthinfos(PlayerLogic.getInstance().getMonthCardInfo(user)) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index d3a81b767..88ac6a620 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -939,7 +939,7 @@ public class PlayerLogic { int time = playerInfoManager.getMonthCard().getOrDefault(integer,0); int state = playerInfoManager.getMonthCardDailyTake().contains(integer)?1:0; double saveAmt = integer==1?rechargeInfo.getMonthSaveAmt():rechargeInfo.getSmonthSaveAmt(); - cardInfos.add(CommonProto.MonthCardInfo.newBuilder().setId(integer).setEndingTime(time).setState(state).setTotleAmt((int)saveAmt).build()); + cardInfos.add(CommonProto.MonthCardInfo.newBuilder().setId(integer).setEndingTime(time).setState(state).setTotleAmt(saveAmt).build()); }); return cardInfos; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index 69af6dcf3..808e4d1b3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -43,7 +43,7 @@ public class CBean2Proto { .setServerTime((int) (System.currentTimeMillis() / 1000)) .setMaxForce(playerManager.getMaxForce()) .setRechargeTime((int) (rechargeInfo.getCreateTime() / 1000)) - .setSaveAmt((int)(rechargeInfo.getSaveAmt())) + .setSaveAmt((rechargeInfo.getSaveAmt())) .setIsFirstRecharge(rechargeInfo.getIsFirst()) .setHeadFrame(playerManager.getHeadFrame()) .setDesignation(playerManager.getDesignation())