async def addUser(ns): """ 添加用户 `id`: '用户id', `name` : '姓名', `password` :'密码', `email` : '邮件地址', `orgid`: '所属机构', `nick_name`: '显示名', `address` :地址', `mobile`: '手机' """ db = DBPools() async with db.sqlorContext('kboss') as sor: if ns.get('user_reseller'): user_reseller = '1' else: user_reseller = '0' ns['password'] = password_encode(ns['password']) user = await sor.R('users', {'username': ns['username']}) if len(user) >= 1: return {'status': False, 'msg': '用户名重复'} ns['id'] = uuid() if not ns.get('type'): await sor.C('users', ns) return {'status': True, 'msg': '添加成功', 'userid': ns['id']} rolereacs = await sor.R('role', {'role': '管理员', 'del_flg': '0', 'org_type': '0'}) userrole = await sor.R('userrole', {'roleid': rolereacs[0]['id'], 'del_flg': '0'}) if len(userrole) >= 1: return {'status': False, 'msg': '已有管理员'} ns['orgid'] = 'mIWUHBeeDM8mwAFPIQ8pS' ns['user_reseller'] = user_reseller await sor.C('users', ns) ns['orgid'] = 'mIWUHBeeDM8mwAFPIQ8pS' await sor.C('userrole', {'userid': ns['id'], 'roleid': rolereacs[0]['id'], 'id': uuid()}) return {'status': True, 'msg': '添加成功', 'userid': ns['id']} ret = await addUser(params_kw) return ret