kboss/b/invoice/get_recharge_record.dspy
2025-07-16 14:27:17 +08:00

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