diff --git a/serverlogic/src/main/java/com/ljsd/CoreService.java b/serverlogic/src/main/java/com/ljsd/CoreService.java index 34a7fb487..cd48479ed 100644 --- a/serverlogic/src/main/java/com/ljsd/CoreService.java +++ b/serverlogic/src/main/java/com/ljsd/CoreService.java @@ -25,6 +25,7 @@ public class CoreService implements RPCRequestIFace.Iface { @Override public Result deliveryRecharge(int uid, int goodsId, String openId, String orderId, long orderTime, int amount) throws InvalidOperException, TException { try { + LOGGER.info("deliveryRecharge start",uid ); return BuyGoodsLogic.sendGoods(uid, goodsId, openId, orderId, orderTime, amount); } catch (Exception e) { User user = UserManager.getUserInMem(uid); 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 c96138bf6..a766e3c34 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 @@ -89,6 +89,17 @@ public class BuyGoodsLogic { LOGGER.info("send to uid={},the goods={},openID={},orderId={},orderTime={},amount={}",uid,goodsId,openId,orderId,orderTime,amount); User user = UserManager.getUser(uid); SRechargeCommodityConfig sRechargeCommodityConfig = SRechargeCommodityConfig.rechargeCommodityConfigMap.get(goodsId); + + //check money + + int realMoney =sRechargeCommodityConfig.getPrice(); + if(amount!=realMoney){ + LOGGER.error("the uid={},the goodId={}, amount={},real={}", uid, goodsId, amount,realMoney); + resultRes.setResultCode(0); + resultRes.setResultMsg("前后端金额不对"+amount+"realMoney = " + realMoney); + return resultRes; + + } RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo(); Map buyGoodsTimes = rechargeInfo.getBuyGoodsTimes(); Integer buyCount = buyGoodsTimes.get(goodsId); @@ -153,29 +164,40 @@ public class BuyGoodsLogic { if(sRechargeCommodityConfig.getAccumulativeRecharge() == 1){ - 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){ - sendneed=true; - user.getPlayerInfoManager().getMonthCard().put(Global.MONTHCARDID, (int) (System.currentTimeMillis() / 1000)); - } - 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)); - } - if(sendneed){ - ISession session = OnlineUserManager.sessionMap.get(uid); - if(session!=null){ - PlayerInfoProto.MonthCardIndication monthCardIndication = PlayerInfoProto.MonthCardIndication.newBuilder().addAllMonthinfos(PlayerLogic.getInstance().getMonthCardInfo(user)).build(); - MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MONTHCARD_INDICATION_VALUE, monthCardIndication, true); + try { + + 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){ + sendneed=true; + user.getPlayerInfoManager().getMonthCard().put(Global.MONTHCARDID, (int) (System.currentTimeMillis() / 1000)); } + 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)); + } + if(sendneed){ + ISession session = OnlineUserManager.sessionMap.get(uid); + if(session!=null){ + PlayerInfoProto.MonthCardIndication monthCardIndication = PlayerInfoProto.MonthCardIndication.newBuilder().addAllMonthinfos(PlayerLogic.getInstance().getMonthCardInfo(user)).build(); + MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MONTHCARD_INDICATION_VALUE, monthCardIndication, true); + } + } + }catch (Exception e){ + LOGGER.error("充值异常跳过"+e.toString()); } } - triggerEvent(user,sRechargeCommodityConfig,nowTime); + try { + triggerEvent(user,sRechargeCommodityConfig,nowTime); + + }catch (Exception e){ + LOGGER.error("充值异常跳过"+e.toString()); + } + int[][] baseReward = sRechargeCommodityConfig.getBaseReward(); int length = baseReward.length; String rewardStr="";