async def payhuidiao(ns): """支付宝回调""" db = DBPools() async with db.sqlorContext('kboss') as sor: date = await get_business_date(sor=None) if ns: recharge_logdatas = await sor.R('recharge_log', {'id': ns['out_trade_no'],'recharge_sno':ns['trade_no']}) if len(recharge_logdatas) < 1: recharge_logdict = {} recharge_logdict['id'] = ns['out_trade_no'] recharge_logdict['recharge_timestamp'] = datetime.datetime.now() recharge_logdict['recharge_date'] = date recharge_logdict['recharge_sno'] = ns['trade_no'] recharge_logdict['recharge_amt'] = ns['total_amount'] await sor.U('recharge_log',recharge_logdict) recharge_logdata = await sor.R('recharge_log', {'id': ns['out_trade_no']}) recharge_amt = recharge_logdata[0]['recharge_amt'] fee_amts = float(recharge_amt) * 0.006 fee_amte = float(format(fee_amts, '.2f')) recharge_log = {'customerid': recharge_logdata[0]['customerid'], 'recharge_amt': float(ns['total_amount']), 'action': 'RECHARGE_ALIPAY', 'recharge_path': '0', 'recharge_date': date,'fee_amt':fee_amte} ra = AlipayRechargeAccounting(recharge_log) await ra.accounting(sor) await redirect('https://www.opencomputing.cn/#/paySuccess') ret = await payhuidiao(params_kw) return ret