44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
async def HpcUserSearch(ns={}):
|
|
"""
|
|
查找购买了济南超算产品的用户
|
|
:param ns:
|
|
:return:
|
|
"""
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
try:
|
|
res_list = []
|
|
# 获取济南超算id
|
|
jncs_li = await sor.R('organization', {'orgname': '济南超算', 'del_flg': '0'})
|
|
jscs_id = jncs_li[0].get('id')
|
|
print(jscs_id)
|
|
|
|
# 获取购买过济南超算产品的用户
|
|
res_sql = """select org.* from organization as org where id in (select customerid from customer_goods
|
|
where providerrid = '%s' and del_flg = '0') and del_flg = '0';""" % jscs_id
|
|
res_li = await sor.sqlExe(res_sql, {})
|
|
|
|
# 获取已经绑定ldap账号的用户
|
|
exits_bind_id = []
|
|
bindings_sql = """select * from jncs_usermapping where del_flg='0';"""
|
|
bindingss = await sor.sqlExe(bindings_sql, {})
|
|
for bindss in bindingss:
|
|
orgid = bindss.get('orgid')
|
|
if orgid:
|
|
exits_bind_id.append(orgid)
|
|
for res_user in res_li:
|
|
if res_user['id'] not in exits_bind_id:
|
|
res_list.append(res_user)
|
|
return {
|
|
'status': True,
|
|
'msg': '查找用户成功',
|
|
'data': res_list
|
|
}
|
|
except Exception as e:
|
|
return {
|
|
'status': False,
|
|
'msg': '添加用户失败',
|
|
'err': e
|
|
}
|
|
ret = await HpcUserSearch(params_kw)
|
|
return ret |