添加供应商修改

This commit is contained in:
ping 2026-07-21 15:23:56 +08:00
parent 144b3afbc8
commit d7e2875375

View File

@ -82,14 +82,6 @@ async def providerAdd(ns={}):
'status': False,
'msg': 'provider add failed, orgcode is empty'
}
# filter by orgcode
res = await sor.R('organization', {})
orgcodes = [orgc.get('orgcode') for orgc in res]
if org_code in orgcodes:
return {
'status': False,
'msg': 'provider add failed, orgcode has already exist'
}
if not ns.get('orgid'):
orgid_li = await sor.R('users', {'id': await get_user()})
orgid = orgid_li[0].get('orgid') if orgid_li else ''
@ -101,8 +93,33 @@ async def providerAdd(ns={}):
else:
orgid = ns.get('orgid')
# filter by orgcode; existing provider returns ids for idempotent callers
exist_org_li = await sor.R('organization', {'orgcode': org_code, 'del_flg': '0'})
if len(exist_org_li) >= 1:
exist_org = exist_org_li[0]
exist_provider_li = await sor.R('provider', {'orgid': exist_org.get('id'), 'del_flg': '0'})
if not exist_provider_li:
return {
'status': False,
'msg': 'provider add failed, orgcode has already exist but provider not found'
}
exist_protocol_li = await sor.R('saleprotocol', {'offer_orgid': exist_org.get('id'), 'bid_orgid': orgid, 'del_flg': '0'})
if not exist_protocol_li:
exist_protocol_li = await sor.R('saleprotocol', {'offer_orgid': exist_org.get('id'), 'del_flg': '0'})
return {
'status': True,
'msg': 'provider already exist',
'data': {
'orgid': exist_org.get('id'),
'provider_orgid': exist_org.get('id'),
'provider_id': exist_provider_li[0].get('id'),
'protocolid': exist_protocol_li[0].get('id') if exist_protocol_li else None
}
}
# 供应商parentid 和 运营机构id相同
ns_org['parentid'] = orgid
ns_sale_mode['bid_orgid'] = orgid
if not ns_provider.get('start_date'):
ns_provider['start_date'] = time.strftime('%Y-%m-%d %H:%M:%S')
@ -115,7 +132,13 @@ async def providerAdd(ns={}):
await openProviderAccounts(sor, orgid, ns_org['id'])
return {
"status": True,
"msg": "provider add success"
"msg": "provider add success",
"data": {
"orgid": ns_org['id'],
"provider_orgid": ns_org['id'],
"provider_id": ns_provider['id'],
"protocolid": ns_sale_mode['id']
}
}
except Exception as e:
raise e