30 lines
1.5 KiB
Plaintext
30 lines
1.5 KiB
Plaintext
async def upledgers(ns):
|
||
""" 客户充值冲账
|
||
action: RECHARGE = 充值;RECHARGE_REVERSE = 充值冲账
|
||
"""
|
||
db = DBPools()
|
||
async with db.sqlorContext('kboss') as sor:
|
||
if not ns.get('apv_id'):
|
||
return {'status': False, 'msg': '充值失败'}
|
||
if ns.get('apv_id'):
|
||
if ns.get('status') != 'agree':
|
||
return {'status': False, 'msg': '充值失败'}
|
||
apv = await sor.R('apv_data',{'apv_id':ns.get('apv_id')})
|
||
balance = float(apv[0]['apv_text'][7:])
|
||
date = await get_business_date(sor=None)
|
||
recharge_log = {'customerid': apv[0]['result_org'], 'recharge_amt': balance,
|
||
'action': 'RECHARGE_REVERSE', 'recharge_path': '2', 'recharge_date': date}
|
||
ra = RechargeAccounting(recharge_log)
|
||
r = await ra.accounting(sor)
|
||
if r == True:
|
||
await sor.C('recharge_log', {'id': uuid(), 'customerid': apv[0]['result_org'],'recharge_date': date,
|
||
'recharge_path': '2', 'recharge_amt': balance,
|
||
'recharge_timestamp': datetime.datetime.now(), 'action': 'RECHARGE_REVERSE',
|
||
'original_id': apv[0]['original_id'],
|
||
'op_userid': apv[0]['apv_sender']})
|
||
return {'status': True, 'msg': '充值冲账成功'}
|
||
else:
|
||
return {'status': True, 'msg': '充值冲账失败'}
|
||
|
||
ret = await upledgers(params_kw)
|
||
return ret |