77 lines
1.8 KiB
Python
77 lines
1.8 KiB
Python
import asyncio
|
|
import sys
|
|
|
|
from sqlor.dbpools import DBPools, get_sor_context
|
|
from appPublic.jsonConfig import getConfig
|
|
from appPublic.dictObject import DictObject
|
|
from appPublic.timeUtils import curDateString, timestampstr
|
|
from accounting.consume import consume_accounting
|
|
from ahserver.serverenv import ServerEnv
|
|
from appbase.init import load_appbase
|
|
from rbac.init import load_rbac
|
|
|
|
def get_module_dbname(m):
|
|
return 'sage'
|
|
|
|
async def get_orgid_by_username(sor, username):
|
|
recs = await sor.R('users', {'username': username})
|
|
if len(recs):
|
|
return recs[0].orgid
|
|
return None
|
|
|
|
async def accounting(username):
|
|
env = ServerEnv()
|
|
customerid = None
|
|
for i in range(1000):
|
|
resellerid = '0'
|
|
async with get_sor_context(env, 'accounting') as sor:
|
|
ais = []
|
|
if customerid is None:
|
|
customerid = await get_orgid_by_username(sor, username)
|
|
d = DictObject()
|
|
d.customerid = customerid
|
|
d.resellerid = '0'
|
|
d.providerid = 'none'
|
|
d.action = 'PAY_REVERSE' if i % 2 ==0 else 'PAY'
|
|
d.biz_date = curDateString()
|
|
d.timestamp = timestampstr()
|
|
d.productid = 'test_product'
|
|
d.transamt = 1.432
|
|
d.variable = {
|
|
"交易金额": 1.432,
|
|
"交易手续费": 0
|
|
}
|
|
ais.append(d)
|
|
orderid = 'test_orderid'
|
|
await consume_accounting(sor, orderid, ais)
|
|
|
|
async def main():
|
|
if len(sys.argv) < 2:
|
|
print(f'{sys.argv[0]} username')
|
|
sys.exit(1)
|
|
username = sys.argv[1]
|
|
await accounting(username)
|
|
|
|
if __name__ == '__main__':
|
|
databases = DictObject(**{
|
|
"sage":{
|
|
"driver":"mysql",
|
|
"kwargs":{
|
|
"user":"test",
|
|
"db":"sage",
|
|
"password":"SS+C1MDMJrslBwGzYIv3nQ==",
|
|
"charset": "utf8mb4",
|
|
"host":"db"
|
|
}
|
|
}
|
|
})
|
|
getConfig('.')
|
|
DBPools(databases)
|
|
load_appbase()
|
|
load_rbac()
|
|
env = ServerEnv()
|
|
env.get_module_dbname = get_module_dbname
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(main())
|
|
|