43 lines
1.6 KiB
Plaintext
43 lines
1.6 KiB
Plaintext
# 获取充值记录
|
|
async def get_recharge_record(ns={}):
|
|
"""
|
|
根据指定人的获取充值记录
|
|
:param ns:
|
|
:return:
|
|
"""
|
|
data = {}
|
|
try:
|
|
data['customerid'] = ns['customerid']
|
|
except Exception as e:
|
|
return {"status": False, "msg": f"get key error, please check key:{str(e)}"}
|
|
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
sql = "SELECT *, r.id as id FROM recharge_log r LEFT JOIN invoice_status s ON r.id=s.recharge_id WHERE r.customerid=${customerid}$ AND r.del_flg=0 and recharge_timestamp is not null ORDER BY s.create_at DESC"
|
|
recharge_data = await sor.sqlExe(sql, data)
|
|
if not recharge_data:
|
|
return {"status": False, "msg": "no data"}
|
|
else:
|
|
# 处理冲账
|
|
new_data = {}
|
|
delete_id = []
|
|
for i in recharge_data:
|
|
if i['original_id']:
|
|
delete_id.append([i['id'], i["original_id"], i['action']])
|
|
else:
|
|
new_data[i['id']] = i
|
|
for i in delete_id:
|
|
try:
|
|
new_data[i[1]]['action'] = i[2]
|
|
except Exception as e:
|
|
msg = f"处理冲账,充值记录状态修改失败,请检查原始数据"
|
|
return {"status": True, "msg": msg, "error": f"{e}", "data": new_data, "table": "recharge_log"}
|
|
|
|
return {"status": True, "data": list(new_data.values())}
|
|
|
|
return {"status": False, "msg": "sql error"}
|
|
|
|
|
|
ret = await get_recharge_record(params_kw)
|
|
return ret
|