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

41 lines
1.8 KiB
Plaintext

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