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