async def get_user_role(ns={}): sor = ns['sor'] # get role ns['del_flg'] = '0' res_role = await sor.R('userrole', ns) if res_role: user_role = res_role[0] else: return { "status": False, "msg": "userrole table, user id can not find..." } roleid = user_role.get('roleid') # get role name role_name = await sor.R('role', {'id': roleid}) if role_name: role = role_name[0].get('role') else: return { "status": False, "msg": "role table, can not get role name" } return role async def enterprise_audit_info_search(ns={}): if not ns.get('url_link'): return { 'status': False, 'msg': '请传递url_link' } domain_name = ns.get('url_link').split("//")[1].split("/")[0] if 'localhost' in domain_name: domain_name = 'dev.opencomputing.cn' db = DBPools() async with db.sqlorContext('kboss') as sor: # 检查orgid是否存在 if ns.get('userid'): userid = ns.get('userid') else: userid = await get_user() user_list = await sor.R('users', {'id': userid}) if not user_list: return { 'status': False, 'msg': 'user not found' } orgid = user_list[0]['orgid'] user_role = await get_user_role({'userid': userid, 'sor': sor}) try: if user_role == '客户': # 客户查询 find_sql = """SELECT * FROM enterprise_audit_info WHERE orgid = '%s' AND del_flg = '0';""" % orgid else: # 运营查询 enterprise_audit_info和organization表关联查询 enterprise_audit_info中的orgid和organization表中的id关联查询 find_sql = """SELECT eai.* FROM enterprise_audit_info AS eai LEFT JOIN organization as org ON eai.orgid = org.id WHERE org.parentid = '%s' AND eai.del_flg = '0' ORDER BY eai.update_time DESC;""" % orgid # 执行查询 res = await sor.sqlExe(find_sql, {}) # 处理结果中的图片路径 增加前缀 for item in res: if item.get('license_original_img'): item['license_original_img'] = 'https://' + domain_name + '/idfile?path=' + item['license_original_img'] if item.get('license_copy_img'): item['license_copy_img'] = 'https://' + domain_name + '/idfile?path=' + item['license_copy_img'] return { 'status': True, 'msg': 'enterprise audit info search successfully', 'data': res } except Exception as e: return { 'status': False, 'msg': 'Failed to search enterprise audit info, %s' % str(e) } ret = await enterprise_audit_info_search(params_kw) return ret