kboss/b/cntoai/get_user_balance.dspy
2026-05-19 15:37:41 +08:00

33 lines
1007 B
Plaintext

async def get_user_balance(ns={}):
"""
根据 userid 查询对应机构的客户余额。
:param userid: 用户 ID
:return: 账户余额(与 getCustomerBalance 返回值一致)
"""
apikey = ns.get('apikey')
db = DBPools()
async with db.sqlorContext('kboss') as sor:
if not apikey:
return {
'status': False,
'msg': 'apikey is required'
}
userid_li = await sor.R('user_api_keys', {'opc_apikey': apikey})
if not userid_li:
return {
'status': False,
'msg': '用户未同步到系统'
}
userid = userid_li[0]['userid']
user = await sor.R('users', {'id': userid})
orgid = await sor.R('organization', {'id': user[0]['orgid']})
balance = await getCustomerBalance(sor, orgid[0]['id'])
return {
'status': True,
'balance': balance
}
ret = await get_user_balance(params_kw)
return ret