kboss/b/reseller/getResellerAdminRole.dspy
2025-07-16 14:27:17 +08:00

41 lines
1.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

async def getResellerAdminRole(ns={}):
"""
入参分销商orgid -> 通过users表获取对应机构下user -> 筛选获取管理员
:param ns:
:return:
"""
db = DBPools()
async with db.sqlorContext('kboss') as sor:
if not ns.get('orgid'):
return {
"status": False,
"msg": "orgid id is empty, please check",
}
# get users
users = await sor.R('users', {'orgid': ns.get('orgid'), 'del_flg': '0'})
user_id_list = [item.get('id') for item in users]
# get admin config id
rolereacs = await sor.R('role', {'role': '管理员','del_flg':'0','org_type':'1'})
roleadminid = rolereacs[0]['id']
# get all admin
userrole_list = await sor.R('userrole', {'roleid': roleadminid,'del_flg':'0'})
userrole_id_list = [ite.get('userid') for ite in userrole_list]
retB = list(set(user_id_list).intersection(set(userrole_id_list)))
if not retB:
return {
'status': False,
'msg': 'can not find admin user'
}
# filter all users with admins
for user in users:
userid = user.get('id')
if userid in retB:
user.pop('password')
return {
'status': True,
'msg': user
}
ret = await getResellerAdminRole(params_kw)
return ret