This commit is contained in:
ping 2025-12-05 14:46:52 +08:00
parent a922670038
commit b57a0267f4

View File

@ -21,6 +21,8 @@ async def baidu_query_by_expire_time(ns={}):
'msg': 'User not synchronized' 'msg': 'User not synchronized'
} }
ns['queryAccountId'] = baiduid ns['queryAccountId'] = baiduid
ns['pageNo'] = int(ns.get('pageno', 1))
ns['pageSize'] = int(ns.get('pagesize', 100))
method = 'POST' method = 'POST'
ns_format = '&'.join(['%s=%s' % (k, v) for k, v in ns.items()]) ns_format = '&'.join(['%s=%s' % (k, v) for k, v in ns.items()])
url = 'https://billing.baidubce.com/v1/resource/queryByExpireTime?%s' % ns_format url = 'https://billing.baidubce.com/v1/resource/queryByExpireTime?%s' % ns_format
@ -35,11 +37,18 @@ async def baidu_query_by_expire_time(ns={}):
json=ns) as res: json=ns) as res:
data_ = await res.json() data_ = await res.json()
print('data_', data_) print('data_', data_)
return { if data_.get('pageSize'):
'status': True, return {
'msg': 'get baidu resource expire time success', 'status': True,
'data': data_ 'msg': 'get baidu resource expire time success',
} 'data': data_
}
else:
return {
'status': False,
'msg': 'get baidu resource expire time failed',
'data': data_
}
async def calculate_time_diff(time_str=None): async def calculate_time_diff(time_str=None):
# 将字符串时间转换为 datetime 对象 # 将字符串时间转换为 datetime 对象
@ -63,22 +72,46 @@ async def get_resource_expire_time(ns={}):
else: else:
userid = await get_user() userid = await get_user()
data = [] data = []
baidu_resource_data = await baidu_query_by_expire_time({'userid': userid}) baidu_resource_data = await baidu_query_by_expire_time(ns)
if baidu_resource_data.get('data'): if baidu_resource_data.get('data'):
for baidubaidu_resource in baidu_resource_data['data']['result']: data_result = baidu_resource_data['data']['result'] if baidu_resource_data['data'].get('result') else []
baidu_r = { # if not data_result:
'id': uuid(), # return {
'name': baidubaidu_resource['serviceTypeName'], # 'status': True,
'instanceid': baidubaidu_resource['shortId'], # 'msg': '无资源数据',
'status': baidubaidu_resource['status'], # 'data': str(baidu_resource_data['data'])
'expiretime': await time_convert(baidubaidu_resource['expireTime']), # }
'days': await calculate_time_diff(baidubaidu_resource['expireTime']) for baidubaidu_resource in data_result:
} baidubaidu_resource['id'] = uuid()
data.append(baidu_r) baidubaidu_resource['name'] = baidubaidu_resource['serviceTypeName']
baidubaidu_resource['instanceid'] = baidubaidu_resource['shortId']
baidubaidu_resource['expiretime'] = await time_convert(baidubaidu_resource['expireTime'])
baidubaidu_resource['days'] = await calculate_time_diff(baidubaidu_resource['expireTime'])
# 读取数据库表product,匹配跳转链接
db = DBPools()
async with db.sqlorContext('kboss') as sor:
find_sql = """select * from product where providerpid='baidu_%s' and del_flg='0';""" % baidubaidu_resource['serviceType']
product_li = await sor.sqlExe(find_sql, {})
spec_note_li = json.loads(product_li[0]['spec_note']) if product_li else []
for spec_note in spec_note_li:
if spec_note.get('configName') == 'listUrl':
baidubaidu_resource['list_url'] = spec_note.get('value')
break
else:
baidubaidu_resource['list_url'] = ''
data.append(baidubaidu_resource)
return { return {
'status': True, 'status': True,
'msg': 'get resouce expire time success', 'msg': 'get resouce expire time success',
'data': data 'data': data,
# 分页
'pagination': {
'total': baidu_resource_data['data'].get('totalCount'),
'page_size': baidu_resource_data['data'].get('pageSize'),
'current_page': baidu_resource_data['data'].get('pageNo')
}
} }
ret = await get_resource_expire_time(params_kw) ret = await get_resource_expire_time(params_kw)