main #143
@ -47,14 +47,21 @@ async def get_user_and_role(ns={}):
|
||||
SELECT u.*
|
||||
FROM users u
|
||||
LEFT JOIN organization o ON u.orgid = o.id AND o.del_flg='0'
|
||||
LEFT JOIN (
|
||||
SELECT userid, MAX(create_at) AS userrole_create_at
|
||||
FROM userrole
|
||||
WHERE del_flg='0'
|
||||
GROUP BY userid
|
||||
) ur_sort ON u.id = ur_sort.userid
|
||||
WHERE %s
|
||||
ORDER BY u.create_at DESC
|
||||
ORDER BY ur_sort.userrole_create_at DESC, u.create_at DESC
|
||||
LIMIT %d OFFSET %d
|
||||
""" % (where_sql, page_size, offset)
|
||||
users = await sor.sqlExe(sql, {'orgid': orgid})
|
||||
for user in users:
|
||||
user['roles'] = []
|
||||
userroles = await sor.R('userrole', {'userid': user['id']})
|
||||
userroles = sorted(userroles, key=lambda item: item.get('create_at') or '', reverse=True)
|
||||
for userrole in userroles:
|
||||
if userrole.get('del_flg') == '1' or not userrole.get('roleid'):
|
||||
continue
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user