async def computing_voucher_search(ns={}): db = DBPools() async with db.sqlorContext('kboss') as sor: try: if ns.get('type') == '客户': computing_voucher_li = await sor.R('computing_voucher', {'receiver_orgid': ns.get('orgid'), 'del_flg': '0'}) return { 'status': True, 'msg': '算力券列表获取成功', 'data': computing_voucher_li } org_type = await sor.R('organization', {'id': ns.get('orgid')}) # 如果是业主机构 查看全部 if org_type and org_type[0]['org_type'] == '0': # TODO salesman can only search owner user computing_voucher_li = await sor.R('computing_voucher', {'del_flg': '0'}) return { 'status': True, 'msg': '算力券列表获取成功', 'data': computing_voucher_li } else: # 如果不是业主机构查看 就找属于这个orgid的所有用户并展示 search_sql = """ SELECT cv.* FROM computing_voucher AS cv INNER JOIN organization AS org ON cv.receiver_orgid = org.id WHERE org.parentid = '%s' and cv.del_flg = '0';""" % ns['orgid'] computing_voucher_li = await sor.sqlExe(search_sql, {}) return { 'status': True, 'msg': '算力券列表获取成功', 'data': computing_voucher_li } except Exception as e: return { 'status': False, 'msg': '算力券列表获取有误', 'error': str(e) } ret = await computing_voucher_search(params_kw) return ret