kboss/b/user/addUser.dspy
2025-07-16 14:27:17 +08:00

39 lines
1.5 KiB
Plaintext

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