73 lines
2.9 KiB
Plaintext
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 |