54 lines
3.0 KiB
Plaintext
54 lines
3.0 KiB
Plaintext
async def getcustomer_goods(ns={}):
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
try:
|
|
if ns.get('userid'):
|
|
users_id = ns.get('userid')
|
|
else:
|
|
users_id = await get_user()
|
|
user = await sor.R('users', {'id': users_id})
|
|
date = datetime.datetime.now().date()
|
|
sql = """update customer_goods SET del_flg = '1' where expire_date < ${date}$ and customerid = ${customerid}$"""
|
|
await sor.sqlExe(sql, {'date': date, 'customerid': user[0]['orgid']})
|
|
customer_goods = await sor.R('customer_goods', {'customerid': user[0]['orgid'],'sort':'create_at desc','del_flg':'0'})
|
|
for i in customer_goods:
|
|
ordergoods = await sor.R('order_goods', {'orderid':i['orderid']})
|
|
# jnorg = await sor.R('organization', {'id': i['providerrid'], 'orgname': '济南超算'})
|
|
# if len(jnorg) >= 1:
|
|
# i['org'] = 'jinan'
|
|
for j in ordergoods:
|
|
if j['end_date']:
|
|
await sor.U('customer_goods',{'id':i['id'],'expire_date':j['end_date']})
|
|
await sor.sqlExe(sql, {'date': date, 'customerid': user[0]['orgid']})
|
|
customer = await sor.R('customer_goods',
|
|
{'customerid': user[0]['orgid'], 'sort': 'create_at desc', 'del_flg': '0'})
|
|
for cu in customer:
|
|
provider_id_li = await sor.R('product', {'id': cu['productid'], 'del_flg': '0'})
|
|
if provider_id_li:
|
|
cu['classify'] = provider_id_li[0]['classify']
|
|
|
|
# 处理k8s资源
|
|
if cu.get('classify') and 'CPCC' in cu['classify']:
|
|
cu['classify'] = 'CPCC'
|
|
prd_name = cu['productname'].split('.')[0]
|
|
if '-' == prd_name or 'STANDARD' == prd_name:
|
|
cu['productname'] = 'CPU计算型'
|
|
else:
|
|
cu['productname'] = prd_name
|
|
spec_note_li = await sor.R('specificdata', {'id': cu['specdataid']})
|
|
cu['instance_info'] = json.loads(spec_note_li[0]['spec_data'])
|
|
external_ip_li = await sor.R('cpcnode', {'cpcid': cu['instance_info']['cpcid'], 'clusterid': cu['instance_info']['clusterid'], 'role': 'master'})
|
|
cu['instance_info']['source_externalip'] = external_ip_li[0]['external_ip']
|
|
|
|
provider_id = provider_id_li[0]['providerid']
|
|
jnorg = await sor.R('organization', {'id': provider_id, 'del_flg': '0'})
|
|
cu['providername'] = jnorg[0]['orgname']
|
|
if jnorg[0]['orgname'] == '优刻得科技股份有限公司':
|
|
cu['region'] = 'cn-wlcb'
|
|
return {'status': True, 'data': customer}
|
|
except Exception as e:
|
|
raise e
|
|
return {'status': False, 'msg': '错误'}
|
|
|
|
ret = await getcustomer_goods(params_kw)
|
|
return ret |