#!/usr/bin/python
|
# -*- coding: utf-8 -*-
|
# @todo: 转代币记录
|
|
import CommFunc
|
import ConfigParser
|
|
import logging
|
import mylog
|
|
#==================== 配置 ====================
|
cfg = ConfigParser.ConfigParser()
|
cfg.read("../../InterfaceConfig.php")
|
ServerPath = cfg.get("ServerInfo", "ServerPath")
|
|
DRNameList = ["CTGOK"]
|
#==================== 配置 ====================
|
|
class ValueObj():
|
def __init__(self):
|
return
|
|
def getExchangePayCoinList(argvDict):
|
## 查询所有代币转换记录列表
|
|
startDate = argvDict.get("startDate", "")
|
endDate = argvDict.get("endDate", "")
|
maxCount = CommFunc.toInt(argvDict.get("maxCount", "10"))
|
|
# 查询中心备份的
|
if CommFunc.isQueryCenterbak(argvDict):
|
getCTGOKSumInfo_Centerbak(startDate, endDate, argvDict)
|
return
|
|
exchangeList = []
|
needQueryCenterbak = CommFunc.loopMainServerDR(cfg, startDate, endDate, argvDict, checkDrFileNeedParseFunc_Exchange,
|
parseLineFunc_Exchange, exchangeList, drNameList=DRNameList)
|
if needQueryCenterbak:
|
exchangeListBak = CommFunc.queryBackupCenterDR(cfg, argvDict)
|
if exchangeListBak == None:
|
return
|
exchangeList = exchangeListBak + exchangeList
|
|
totalCount = len(exchangeList)
|
exchangeList = exchangeList[-maxCount:]
|
retCount = len(exchangeList)
|
|
for drDict in exchangeList:
|
payOrderType = drDict.get("payOrderType", 1)
|
orderValue = drDict["orderCoin"]
|
drDict["payName"] = CommFunc.getPayOrderTypeName(payOrderType)
|
drDict["orderValue"] = CommFunc.coinToY(orderValue, CommFunc.getPayOrderCoinRate(payOrderType))
|
|
printStr = ""
|
# 表格输出
|
printStr += _(u"查询日期") + ": %s ~ %s<br/>" % (startDate, endDate);
|
printStr += _(u"返回条数") + ": %s 总条数: %s<br/>" % (retCount, totalCount);
|
printStr += CommFunc.editTableHtml(exchangeList, ["AccID", "appID", "orderInfo", "payName", "orderValue", "orderCoin", "eventName", "time", "orderID"], _(u"编号"),
|
{"orderInfo":{"align":"left", "title":_(u"商品编号")},
|
"payName":{"align":"center", "title":_(u"支付方式")},
|
"orderValue":{"align":"right", "title":_(u"支付额")},
|
"orderCoin":{"align":"right", "title":_(u"代币值")},
|
},
|
False)
|
|
# 只会返回最后一个print的内容
|
print printStr
|
return
|
|
def getCTGOKSumInfo_Centerbak(startDate, endDate, argvDict):
|
## 查询中心服务器备份充值信息
|
exchangeList = []
|
if not CommFunc.loopCenterbakRarDR(cfg, startDate, endDate, argvDict, checkDrFileNeedParseFunc_Exchange,
|
parseLineFunc_Exchange, exchangeList, drNameList=DRNameList):
|
return
|
return CommFunc.queryBackupCenterOK(exchangeList)
|
|
def checkDrFileNeedParseFunc_Exchange(drFileName, *parseArgs, **kv):
|
''' 检查流向是否需要处理
|
@param drFileName: 流向文件名 xxx_日期.txt
|
@param *parseArgs: 自定义参数
|
@return: isNeed, checkNeedParseRetInfo
|
'''
|
isNeed = drFileName.startswith("CTGOK_")
|
return isNeed, None
|
|
def parseLineFunc_Exchange(drName, dateStr, checkNeedParseRetInfo, line, *parseArgs, **kv):
|
''' 解析流向行内容
|
@param drName: 流向名
|
@param dateStr: 对应日期字符串
|
@param checkNeedParseRetInfo: checkDrFileNeedParseFunc 返回的内容
|
@param line: 本行内容
|
@param *parseArgs: 自定义参数
|
'''
|
|
exchangeList = parseArgs[0]
|
|
drDict = eval(line)
|
if drDict.get("coinType") != 6:
|
return
|
|
dDict = {}
|
for key in ["AccID", "appID", "orderInfo", "orderCoin", "eventName", "time", "orderID", "payOrderType"]:
|
if key in drDict:
|
dDict[key] = drDict[key]
|
exchangeList.append(dDict)
|
return
|
|
def main():
|
CommFunc.setdefaultencoding()
|
argvDict = CommFunc.parse_args()
|
mylog.InitMyLog(argvDict.get("eventType", ""))
|
CommFunc.gettextInstall(argvDict.get("lang", ""))
|
getExchangePayCoinList(argvDict)
|
return
|
|
if __name__ == "__main__":
|
try:
|
main()
|
except:
|
CommFunc.printExceptionError()
|