salescrm/b/customer/getcustomer_goods.dspy
2025-10-27 15:50:44 +08:00

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