| | |
| | | if ctgID in payCoinLimitCTGIDList:
|
| | | GameWorld.ErrLog("该充值ID可不用于支付代币充值!appID=%s,orderInfo=%s,ctgID=%s" % (appID, orderInfo, ctgID), curPlayer.GetPlayerID())
|
| | | return
|
| | | befPayCoinDay = PlayerControl.GetPlayerCurrency(curPlayer, ShareDefine.TYPE_Price_PayCoinDay)
|
| | | #直接扣,类似充值扣钱,这里是发放物品,可能会有发放失败的当做 CTGError 处理
|
| | | if not PlayerControl.PayMoney(curPlayer, ShareDefine.TYPE_Price_PayCoin, orderCoin, eventName, {ChConfig.Def_Cost_Reason_SonKey:orderInfo, "orderInfo":orderInfo}):
|
| | | GameWorld.ErrLog("代币不足! appID=%s,orderInfo=%s,orderCoin=%s,curPayCoinTotal=%s"
|
| | | % (appID, orderInfo, orderCoin, PlayerControl.GetPayCoinTotal(curPlayer)), curPlayer.GetPlayerID())
|
| | | return
|
| | | |
| | | aftPayCoinDay = PlayerControl.GetPlayerCurrency(curPlayer, ShareDefine.TYPE_Price_PayCoinDay)
|
| | | if befPayCoinDay > aftPayCoinDay:
|
| | | addDRDict["usePayCoinDay"] = (befPayCoinDay - aftPayCoinDay) # 记录本次消耗限时代币数
|
| | | |
| | | addDRDict["payOrderType"] = payOrderType
|
| | |
|
| | | moneyType, addGold, prizeGold, giveItemList, ctgIpyData = 0, 0, 0, [], None
|
| | |
| | | DataRecordPack.DR_CTGError(curPlayer, "coinType error! coinType(%s)!" % coinType, addDRDict)
|
| | | return
|
| | |
|
| | | realCoin = orderCoin
|
| | | isRealMoney = True if addDRDict.get("orderID") else False # 是否真实货币充值,仅真实货币充值订单有orderID,后台充值的不算真实货币充值
|
| | | payOrderType = addDRDict.get("payOrderType", PayOrderType_Default)
|
| | | if payOrderType == PayOrderType_PayCoin:
|
| | | #isRealMoney = True # 代币充值在游戏内容上算真实充值,tqxbqy暂不算,代币来源可能是赠送的,故暂不算
|
| | | coinType = ChConfig.CoinType_UsePayCoin # tqxbqy需要区分代币支付
|
| | | if addDRDict.get("usePayCoinDay", 0) > 0:
|
| | | isRealMoney = True # 消耗限时代币算真实重置,每日赠送648使用限时代币
|
| | | realCoin = addDRDict.get("usePayCoinDay", 0)
|
| | | |
| | | ctgRealToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealToday) # 当日真实货币充值Coin数 ,不含后台充值- 今日
|
| | | ctgRealTotal = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealTotal) # 累计真实货币充值Coin数 ,不包后台充值 - 总计
|
| | | ctgRealFirstTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealFirstTime) # 首次真实货币充值时间戳
|
| | |
| | | if not ctgRealFirstTime:
|
| | | ctgRealFirstTime = int(time.time())
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGRealFirstTime, ctgRealFirstTime)
|
| | | ctgRealToday = min(ctgRealToday + orderCoin, ChConfig.Def_UpperLimit_DWord)
|
| | | ctgRealToday = min(ctgRealToday + realCoin, ChConfig.Def_UpperLimit_DWord)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGRealToday, ctgRealToday)
|
| | | ctgRealTotal = min(ctgRealTotal + orderCoin, ChConfig.Def_UpperLimit_DWord)
|
| | | ctgRealTotal = min(ctgRealTotal + realCoin, ChConfig.Def_UpperLimit_DWord)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGRealTotal, ctgRealTotal)
|
| | | Sync_CoinToGoldCountInfo(curPlayer, [])
|
| | |
|