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