This commit is contained in:
ping 2026-07-22 10:18:48 +08:00
parent 52568b3352
commit faedbb8edf

View File

@ -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