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