Compare commits
No commits in common. "00de124ae7986f8809b2adf0d5fe79790a607878" and "2189cf34fd6bd993f02febf0b3fde044e952b4ba" have entirely different histories.
00de124ae7
...
2189cf34fd
@ -1,55 +0,0 @@
|
|||||||
import json
|
|
||||||
|
|
||||||
|
|
||||||
def _parse_roleids(roleid):
|
|
||||||
if roleid is None:
|
|
||||||
return []
|
|
||||||
if isinstance(roleid, list):
|
|
||||||
return [i for i in roleid if i]
|
|
||||||
if isinstance(roleid, str):
|
|
||||||
roleid = roleid.strip()
|
|
||||||
if not roleid:
|
|
||||||
return []
|
|
||||||
try:
|
|
||||||
roleids = json.loads(roleid)
|
|
||||||
except Exception:
|
|
||||||
roleids = [roleid]
|
|
||||||
if isinstance(roleids, list):
|
|
||||||
return [i for i in roleids if i]
|
|
||||||
return [roleids] if roleids else []
|
|
||||||
return [roleid]
|
|
||||||
|
|
||||||
|
|
||||||
async def add_user_role(ns):
|
|
||||||
"""
|
|
||||||
用户分配角色
|
|
||||||
:param userid: 用户id
|
|
||||||
:param roleid: 角色id列表
|
|
||||||
:return:
|
|
||||||
"""
|
|
||||||
if not ns or not ns.get('userid') or 'roleid' not in ns:
|
|
||||||
return {'status': False, 'msg': '参数不正确'}
|
|
||||||
|
|
||||||
userid = ns.get('userid')
|
|
||||||
roleids = _parse_roleids(ns.get('roleid'))
|
|
||||||
db = DBPools()
|
|
||||||
async with db.sqlorContext('kboss') as sor:
|
|
||||||
userroles = await sor.R('userrole', {'userid': userid})
|
|
||||||
for userrole in userroles:
|
|
||||||
if userrole.get('roleid') not in roleids:
|
|
||||||
await sor.U('userrole', {'del_flg': '1', 'id': userrole['id']})
|
|
||||||
|
|
||||||
for roleid in roleids:
|
|
||||||
roles = {'userid': userid, 'roleid': roleid}
|
|
||||||
reacs = await sor.R('userrole', roles)
|
|
||||||
if len(reacs) >= 1:
|
|
||||||
await sor.U('userrole', {'id': reacs[0]['id'], 'del_flg': '0'})
|
|
||||||
continue
|
|
||||||
await sor.C('userrole', {'id': uuid(), 'userid': userid, 'roleid': roleid})
|
|
||||||
return {'status': True, 'msg': '添加成功'}
|
|
||||||
|
|
||||||
return {'status': False, 'msg': '添加失败'}
|
|
||||||
|
|
||||||
|
|
||||||
ret = await add_user_role(params_kw)
|
|
||||||
return ret
|
|
||||||
Loading…
x
Reference in New Issue
Block a user