1111 【btmdb2】使用原限时代币98用于每日赠送,算真实累充,活动订单充值类型按代币算;
1个文件已修改
15 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -464,12 +464,16 @@
                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
@@ -709,11 +713,16 @@
        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) # 首次真实货币充值时间戳
@@ -721,9 +730,9 @@
        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, [])