salescrm/b/user/test_addusers.dspy
2025-10-27 15:50:44 +08:00

59 lines
2.2 KiB
Plaintext

async def test_addusers(ns):
"""
导入历史资料
添加用户
`id`: '用户id',
`name` : '姓名',
`password` :'密码',
`email` : '邮件地址',
`orgid`: '所属机构',
`nick_name`: '显示名',
`address` :地址',
`mobile`: '手机'
"""
db = DBPools()
async with db.sqlorContext('kboss') as sor:
"""data = [{'name':'xxx','phone':'xxx'},{...},}]"""
data = ns.get('data')
try:
for i in data:
orgname = await sor.R('organization',{'orgname':i['name']})
if len(orgname) >= 1:
continue
org_id = (await sor.R('organization',{'org_type':'0'}))[0]['id']
orgns = {}
orgns['id'] = uuid()
orgns['orgname'] = i['name']
orgns['contactor'] = i['name']
orgns['contactor_phone'] = i['phone']
orgns['parentid'] = org_id
orgns['org_type'] = '2'
orgid = orgns['id']
org_type = orgns['org_type']
await sor.C('organization', orgns)
ns = {}
ns['id'] = uuid()
ns['name'] = i['name']
ns['nick_name'] = i['name']
ns['username'] = i['name']
ns['password'] = 'QUZVcXg5V1p1STMybG5Ia67Esn0t7+ph'
ns['orgid'] = orgid
userid = ns['id']
await sor.C('users', ns)
listrole = ['管理员', '客户']
for i in listrole:
role = await sor.R('role', {'role': i, 'org_type': org_type})
await sor.C('userrole', {'id': uuid(), 'userid': userid, 'roleid': role[0]['id']})
ns['id'] = uuid()
ns['customerid'] = orgid
await sor.C('customer', ns)
await openCustomerAccounts(sor, org_id, orgid)
return {'status': True, 'msg': '添加成功'}
except Exception as error:
raise error
return {'status': False, 'msg': '添加失败'}
ret = await test_addusers(params_kw)
return ret