94 lines
3.7 KiB
Plaintext
94 lines
3.7 KiB
Plaintext
async def saveUser(ns={}):
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
try:
|
|
if ns.get('orgid'):
|
|
orgid = ns.get('orgid')
|
|
else:
|
|
# find orgid info from users
|
|
org_info = await sor.R('users', {'id': await get_user(), 'del_flg': '0'})
|
|
if org_info:
|
|
orgid = org_info[0].get('orgid')
|
|
else:
|
|
return {
|
|
'status': False,
|
|
'msg': 'can not find orgid from users'
|
|
}
|
|
org = {}
|
|
org['id'] = orgid
|
|
org['orgname'] = ns.get('fullName')
|
|
org['orgname'] = ns.get('name')
|
|
org['orgcode'] = ns.get('orgcode')
|
|
org['address'] = ns.get('address')
|
|
org['contactor'] = ns.get('contact')
|
|
org['contactor_phone'] = ns.get('tel')
|
|
org['emailaddress'] = ns.get('email')
|
|
|
|
await sor.U('organization', org)
|
|
# default have saleman and can update name, email, mobile
|
|
users = {}
|
|
users['username'] = ns.get('saleMgrName')
|
|
users['email'] = ns.get('saleMgrEmail')
|
|
users['mobile'] = ns.get('saleMgrTel')
|
|
# find salemanid info from customers
|
|
cust = await sor.R('customer', {'customerid': orgid, 'del_flg': '0'})
|
|
customer = cust[0] if cust else {}
|
|
salemanid = customer.get('salemanid')
|
|
if salemanid:
|
|
users['id'] = salemanid
|
|
saleman = await sor.U('users', users)
|
|
else:
|
|
# TODO New registered user has no sale person
|
|
saleman_user = {}
|
|
|
|
exist_invoice = await sor.R('invoice_attr', {'customerid': orgid})
|
|
invoice_attr = {}
|
|
invoice_attr['customerid'] = orgid
|
|
invoice_attr['bank_name'] = ns.get('bankName')
|
|
invoice_attr['bank_account'] = ns.get('bankAcc')
|
|
invoice_attr['invoice_title'] = ns.get('identityName')
|
|
invoice_attr['phone'] = ns.get('taxTel')
|
|
invoice_attr['tax_no'] = ns.get('taxpayerIdentity')
|
|
invoice_attr['address'] = ns.get('taxAddress')
|
|
if exist_invoice:
|
|
invoice_attr['id'] = exist_invoice[0].get('id')
|
|
await sor.U('invoice_attr', invoice_attr)
|
|
else:
|
|
invoice_attr['id'] = uuid()
|
|
await sor.C('invoice_attr', invoice_attr)
|
|
|
|
exist_zj_users = await sor.R('zj_users', {'orgid': orgid})
|
|
zj_users = {}
|
|
zj_users['orgid'] = orgid
|
|
zj_users['salemgrname'] = ns.get('saleMgrName')
|
|
zj_users['salemgremail'] = ns.get('saleMgrEmail')
|
|
zj_users['salemgrtel'] = ns.get('saleMgrTel')
|
|
zj_users['userac'] = ns.get('userAc')
|
|
zj_users['userphone'] = ns.get('userPhone')
|
|
zj_users['remark'] = ns.get('remark')
|
|
zj_users['ak'] = ns.get('ak')
|
|
zj_users['sk'] = ns.get('sk')
|
|
zj_users['thirdid'] = ns.get('thirdId')
|
|
zj_users['appid'] = ns.get('appId')
|
|
zj_users['supid'] = 99
|
|
if exist_zj_users:
|
|
zj_users['id'] = exist_zj_users[0].get('id')
|
|
await sor.U('zj_users', zj_users)
|
|
else:
|
|
zj_users['id'] = uuid()
|
|
await sor.C('zj_users', zj_users)
|
|
return {
|
|
'status': True,
|
|
'msg': 'save user success'
|
|
}
|
|
|
|
except Exception as e:
|
|
return {
|
|
'status': False,
|
|
'msg': 'save user failed',
|
|
'err_data': e
|
|
}
|
|
|
|
|
|
ret = await saveUser(params_kw)
|
|
return ret |