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

47 lines
1.3 KiB
Plaintext

async def baidu_resource_query(ns={}):
"""
用户资源查询
:param ns:
:return:
"""
userid = ns.get('userid')
db = DBPools()
async with db.sqlorContext('kboss') as sor:
baiduids = await sor.R('baidu_users', {'user_id': userid})
if baiduids:
baiduid = baiduids[0]['baidu_id']
else:
return {
'status': False,
'msg': 'User not synchronized'
}
ns['queryAccountId'] = baiduid
ns['pageSize'] = 200
method = 'POST'
ns_format = '&'.join(['%s=%s' % (k, v) for k, v in ns.items()])
url = 'https://billing.baidubce.com/v1/resource/query?%s' % ns_format
header = {
"Host": "billing.baidubce.com"
}
header = await get_auth_header(method=method, url=url, header=header)
async with aiohttp_client.request(
method=method,
url=url,
headers=header,
json=ns) as res:
result = await res.json()
result_new = []
for i in result['result']:
if i.get('status') != 'STOPPED':
result_new.append(i)
result['result'] = result_new
return {
'status': True,
'msg': 'get resource success',
'data': result
}
ret = await baidu_resource_query(params_kw)
return ret