hxp
2024-01-20 421eadc84191ded11ddb126eb92cffb6f6edf7ee
10076 越南sdk接入(充值改美元验证)
3个文件已修改
28 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/CommFunc.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/CommFunc.py 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/CommFunc.py
@@ -559,12 +559,12 @@
        
    return ""
def RMBToCoin(floatRMB):
def RMBToCoin(floatRMB, rate=1):
    ''' 元转为coin,统一函数,方便修改及搜索
    @param floatRMB: 单位元,float 类型,支持 RMB 或 美元
    @param rate: 转化比例,越南版本配表及coin均使用越南盾原值,即比例为1:1,故默认值改1
    @return: 转化为coin数值
    '''
    # 由于float会有不精确的现象出现xxx.9999999或xxx.0000000000001的问题,所以这里计算出的结果向上取整
    rate = 1 # 越南版本配表及coin均使用越南盾原值,即比例为1:1
    return int(math.ceil(round(floatRMB * rate)))
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/CommFunc.py
@@ -592,21 +592,20 @@
        
    return ""
def CoinToYuan(orderCoin):
def CoinToYuan(orderCoin, rate=1):
    '''coin转化为元
    '''
    rate = 1
    yuan = orderCoin / float(rate)
    if str(yuan).endswith(".0"):
        return int(yuan)
    return yuan
def RMBToCoin(floatRMB):
def RMBToCoin(floatRMB, rate=1):
    ''' 元转为coin,统一函数,方便修改及搜索
    @param floatRMB: 单位元,float 类型,支持 RMB 或 美元
    @param rate: 转化比例,越南版本配表及coin均使用越南盾原值,即比例为1:1,故默认值改1
    @return: 转化为coin数值
    '''
    # 由于float会有不精确的现象出现xxx.9999999或xxx.0000000000001的问题,所以这里计算出的结果向上取整
    rate = 1 # 越南版本配表及coin均使用越南盾原值,即比例为1:1
    return int(math.ceil(round(floatRMB * rate)))
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -270,7 +270,7 @@
    if not ipyData:
        return
    cPlayerCoin = CPY_PlayerCoinToGold()
    cPlayerCoin.useCoin = CommFunc.RMBToCoin(ipyData.GetPayRMBNum())
    cPlayerCoin.useCoin = CommFunc.RMBToCoin(ipyData.GetUsdMoney(), 100)
    cPlayerCoin.orderInfo = orderInfo
    cPlayerCoin.appID = appID
    cPlayerCoin.orderID = ""
@@ -367,7 +367,7 @@
        return
    
    cPlayerCoin = CPY_PlayerCoinToGold()
    cPlayerCoin.useCoin = CommFunc.RMBToCoin(ipyData.GetPayRMBNum())
    cPlayerCoin.useCoin = CommFunc.RMBToCoin(ipyData.GetUsdMoney(), 100)
    cPlayerCoin.orderInfo = orderInfo
    cPlayerCoin.appID = appID
    cPlayerCoin.isAddBourseMoney = isAddBourseMoney
@@ -404,9 +404,16 @@
        DataRecordPack.DR_CTGError(curPlayer, "Can not found the orderInfo.", addDRDict)
        return
    
    payRMBNum = ipyData.GetPayRMBNum() # 越南版本配表及coin均使用越南盾原值
    if orderCoin != CommFunc.RMBToCoin(payRMBNum):
        DataRecordPack.DR_CTGError(curPlayer, "The orderCoin is not equal to the ipyData's RMB(%s)!" % payRMBNum, addDRDict)
    # 越南版本配表及coin均使用越南盾原值,但是验证用美元验证
    GameWorld.Log("越南充值验证美元: orderInfo=%s,orderCoin=%s,orderID=%s" % (orderInfo, orderCoin, orderID), curPlayer.GetPlayerID())
    orderCoinUsd = orderCoin # 入库的是美元分
    orderCoin = CommFunc.RMBToCoin(ipyData.GetPayRMBNum()) # 游戏内orderCoin转化为越南盾
    usdMoney = ipyData.GetUsdMoney()
    GameWorld.Log("    转化后: orderInfo=%s,orderCoin=%s,orderCoinUsd=%s" % (orderInfo, orderCoin, orderCoinUsd), curPlayer.GetPlayerID())
    addDRDict["orderCoin"] = orderCoin
    addDRDict["orderCoinUsd"] = orderCoinUsd
    if orderCoinUsd != CommFunc.RMBToCoin(usdMoney, 100):
        DataRecordPack.DR_CTGError(curPlayer, "The orderCoinUsd is not equal to the ipyData's UsdMoney(%s)!" % usdMoney, addDRDict)
        return
    
    if payOrderType == PayOrderType_PayCoin: