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

73 lines
2.9 KiB
Plaintext

async def providerSearch(ns={}):
"""
add new provider
`name`: 名称,
`description`: 描述,
`appid`: 应用id,
`providerkey`: 应用key,
`state`: 状态,
`start_date`: 起效日期,
`end_date`: 失效日期,
`sale_mode`: 销售方式,
`del_flag`: 删除标志
:param ns:
:return:
"""
userid = await get_user()
db = DBPools()
async with db.sqlorContext('kboss') as sor:
try:
if await get_user():
orgid_li = await sor.R('users', {'id': userid, 'del_flg': '0'})
ns['orgid'] = orgid_li[0].get('orgid')
ns_org_provider = {
'parentid': ns.get('orgid'),
'org_type': '4',
'del_flg': '0',
'sort': 'create_at',
'order': 'desc',
'page': ns.get('page') if ns.get('page') else 1
}
org_li = await sor.R('organization', ns_org_provider)
org_li_rows = org_li.get('rows')
provider_list = []
for org in org_li_rows:
org_id = org.get('id')
provider_li = await sor.R('provider', {'orgid': org_id, 'del_flg': '0'})
provider_detail = provider_li[0] if provider_li else {}
if provider_detail:
if provider_detail.get('discount_mode'):
provider_detail['salemode'] = 0
elif provider_detail.get('rebate_mode'):
provider_detail['salemode'] = 1
elif provider_detail.get('floorprice_mode'):
provider_detail['salemode'] = 2
# 查找saleprotocol表 返回protocolid
saleprotocol_id_li = await sor.R('saleprotocol', {'offer_orgid': org_id, 'bid_orgid': ns.get('orgid')})
if saleprotocol_id_li:
provider_detail['protocolid'] = saleprotocol_id_li[0]['id']
provider_detail['salemode'] = saleprotocol_id_li[0]['salemode']
# provider_detail['settle_mode'] = saleprotocol_id_li[0]['settle_mode']
provider_detail['settle_datep'] = saleprotocol_id_li[0]['settle_dp']
provider_detail['protocolfile'] = saleprotocol_id_li[0]['protocolfile']
provider_detail['provider_table_id'] = provider_detail.pop('id')
org.update(provider_detail)
provider_list.append(org)
return {
"status": True,
"msg": "provider search success",
"data": provider_list
}
except Exception as e:
raise e
return {
"status": False,
"msg": "provider search failed",
"data": ""
}
ret = await providerSearch(params_kw)
return ret