Browse Source

perf: 优化用户管理dao层status和del_flag类型与数据库保持一致

master
insistence 7 months ago
parent
commit
71b4a10991
  1. 60
      ruoyi-fastapi-backend/module_admin/dao/user_dao.py

60
ruoyi-fastapi-backend/module_admin/dao/user_dao.py

@ -25,7 +25,7 @@ class UserDao:
""" """
query_user_info = (await db.execute( query_user_info = (await db.execute(
select(SysUser) select(SysUser)
.where(SysUser.status == 0, SysUser.del_flag == 0, SysUser.user_name == user_name) .where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_name == user_name)
.order_by(desc(SysUser.create_time)) .order_by(desc(SysUser.create_time))
.distinct() .distinct()
)).scalars().first() )).scalars().first()
@ -42,7 +42,7 @@ class UserDao:
""" """
query_user_info = (await db.execute( query_user_info = (await db.execute(
select(SysUser) select(SysUser)
.where(SysUser.del_flag == 0, SysUser.user_name == user.user_name) .where(SysUser.del_flag == '0', SysUser.user_name == user.user_name)
.order_by(desc(SysUser.create_time)) .order_by(desc(SysUser.create_time))
.distinct() .distinct()
)).scalars().first() )).scalars().first()
@ -59,50 +59,50 @@ class UserDao:
""" """
query_user_basic_info = (await db.execute( query_user_basic_info = (await db.execute(
select(SysUser) select(SysUser)
.where(SysUser.status == 0, SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.distinct() .distinct()
)).scalars().first() )).scalars().first()
query_user_dept_info = (await db.execute( query_user_dept_info = (await db.execute(
select(SysDept) select(SysDept)
.select_from(SysUser) .select_from(SysUser)
.where(SysUser.status == 0, SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.join(SysDept, and_(SysUser.dept_id == SysDept.dept_id, SysDept.status == 0, SysDept.del_flag == 0)) .join(SysDept, and_(SysUser.dept_id == SysDept.dept_id, SysDept.status == '0', SysDept.del_flag == '0'))
.distinct() .distinct()
)).scalars().first() )).scalars().first()
query_user_role_info = (await db.execute( query_user_role_info = (await db.execute(
select(SysRole) select(SysRole)
.select_from(SysUser) .select_from(SysUser)
.where(SysUser.status == 0, SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.join(SysUserRole, SysUser.user_id == SysUserRole.user_id, isouter=True) .join(SysUserRole, SysUser.user_id == SysUserRole.user_id, isouter=True)
.join(SysRole, and_(SysUserRole.role_id == SysRole.role_id, SysRole.status == 0, SysRole.del_flag == 0)) .join(SysRole, and_(SysUserRole.role_id == SysRole.role_id, SysRole.status == '0', SysRole.del_flag == '0'))
.distinct() .distinct()
)).scalars().all() )).scalars().all()
query_user_post_info = (await db.execute( query_user_post_info = (await db.execute(
select(SysPost) select(SysPost)
.select_from(SysUser) .select_from(SysUser)
.where(SysUser.status == 0, SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.join(SysUserPost, SysUser.user_id == SysUserPost.user_id, isouter=True) .join(SysUserPost, SysUser.user_id == SysUserPost.user_id, isouter=True)
.join(SysPost, and_(SysUserPost.post_id == SysPost.post_id, SysPost.status == 0)) .join(SysPost, and_(SysUserPost.post_id == SysPost.post_id, SysPost.status == '0'))
.distinct() .distinct()
)).scalars().all() )).scalars().all()
role_id_list = [item.role_id for item in query_user_role_info] role_id_list = [item.role_id for item in query_user_role_info]
if 1 in role_id_list: if 1 in role_id_list:
query_user_menu_info = (await db.execute( query_user_menu_info = (await db.execute(
select(SysMenu) select(SysMenu)
.where(SysMenu.status == 0) .where(SysMenu.status == '0')
.distinct() .distinct()
)).scalars().all() )).scalars().all()
else: else:
query_user_menu_info = (await db.execute( query_user_menu_info = (await db.execute(
select(SysMenu) select(SysMenu)
.select_from(SysUser) .select_from(SysUser)
.where(SysUser.status == 0, SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.join(SysUserRole, SysUser.user_id == SysUserRole.user_id, isouter=True) .join(SysUserRole, SysUser.user_id == SysUserRole.user_id, isouter=True)
.join(SysRole, .join(SysRole,
and_(SysUserRole.role_id == SysRole.role_id, SysRole.status == 0, SysRole.del_flag == 0), and_(SysUserRole.role_id == SysRole.role_id, SysRole.status == '0', SysRole.del_flag == '0'),
isouter=True) isouter=True)
.join(SysRoleMenu, SysRole.role_id == SysRoleMenu.role_id, isouter=True) .join(SysRoleMenu, SysRole.role_id == SysRoleMenu.role_id, isouter=True)
.join(SysMenu, and_(SysRoleMenu.menu_id == SysMenu.menu_id, SysMenu.status == 0)) .join(SysMenu, and_(SysRoleMenu.menu_id == SysMenu.menu_id, SysMenu.status == '0'))
.order_by(SysMenu.order_num) .order_by(SysMenu.order_num)
.distinct() .distinct()
)).scalars().all() )).scalars().all()
@ -127,41 +127,41 @@ class UserDao:
""" """
query_user_basic_info = (await db.execute( query_user_basic_info = (await db.execute(
select(SysUser) select(SysUser)
.where(SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.del_flag == '0', SysUser.user_id == user_id)
.distinct() .distinct()
)).scalars().first() )).scalars().first()
query_user_dept_info = (await db.execute( query_user_dept_info = (await db.execute(
select(SysDept) select(SysDept)
.select_from(SysUser) .select_from(SysUser)
.where(SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.del_flag == '0', SysUser.user_id == user_id)
.join(SysDept, and_(SysUser.dept_id == SysDept.dept_id, SysDept.status == 0, SysDept.del_flag == 0)) .join(SysDept, and_(SysUser.dept_id == SysDept.dept_id, SysDept.status == '0', SysDept.del_flag == '0'))
.distinct() .distinct()
)).scalars().first() )).scalars().first()
query_user_role_info = (await db.execute( query_user_role_info = (await db.execute(
select(SysRole) select(SysRole)
.select_from(SysUser) .select_from(SysUser)
.where(SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.del_flag == '0', SysUser.user_id == user_id)
.join(SysUserRole, SysUser.user_id == SysUserRole.user_id, isouter=True) .join(SysUserRole, SysUser.user_id == SysUserRole.user_id, isouter=True)
.join(SysRole, and_(SysUserRole.role_id == SysRole.role_id, SysRole.status == 0, SysRole.del_flag == 0)) .join(SysRole, and_(SysUserRole.role_id == SysRole.role_id, SysRole.status == '0', SysRole.del_flag == '0'))
.distinct() .distinct()
)).scalars().all() )).scalars().all()
query_user_post_info = (await db.execute( query_user_post_info = (await db.execute(
select(SysPost) select(SysPost)
.select_from(SysUser) .select_from(SysUser)
.where(SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.del_flag == '0', SysUser.user_id == user_id)
.join(SysUserPost, SysUser.user_id == SysUserPost.user_id, isouter=True) .join(SysUserPost, SysUser.user_id == SysUserPost.user_id, isouter=True)
.join(SysPost, and_(SysUserPost.post_id == SysPost.post_id, SysPost.status == 0)) .join(SysPost, and_(SysUserPost.post_id == SysPost.post_id, SysPost.status == '0'))
.distinct() .distinct()
)).scalars().all() )).scalars().all()
query_user_menu_info = (await db.execute( query_user_menu_info = (await db.execute(
select(SysMenu) select(SysMenu)
.select_from(SysUser) .select_from(SysUser)
.where(SysUser.del_flag == 0, SysUser.user_id == user_id) .where(SysUser.del_flag == '0', SysUser.user_id == user_id)
.join(SysUserRole, SysUser.user_id == SysUserRole.user_id, isouter=True) .join(SysUserRole, SysUser.user_id == SysUserRole.user_id, isouter=True)
.join(SysRole, and_(SysUserRole.role_id == SysRole.role_id, SysRole.status == 0, SysRole.del_flag == 0), .join(SysRole, and_(SysUserRole.role_id == SysRole.role_id, SysRole.status == '0', SysRole.del_flag == '0'),
isouter=True) isouter=True)
.join(SysRoleMenu, SysRole.role_id == SysRoleMenu.role_id, isouter=True) .join(SysRoleMenu, SysRole.role_id == SysRoleMenu.role_id, isouter=True)
.join(SysMenu, and_(SysRoleMenu.menu_id == SysMenu.menu_id, SysMenu.status == 0)) .join(SysMenu, and_(SysRoleMenu.menu_id == SysMenu.menu_id, SysMenu.status == '0'))
.distinct() .distinct()
)).scalars().all() )).scalars().all()
results = dict( results = dict(
@ -186,7 +186,7 @@ class UserDao:
:return: 用户列表信息对象 :return: 用户列表信息对象
""" """
query = select(SysUser, SysDept) \ query = select(SysUser, SysDept) \
.where(SysUser.del_flag == 0, .where(SysUser.del_flag == '0',
or_(SysUser.dept_id == query_object.dept_id, SysUser.dept_id.in_( or_(SysUser.dept_id == query_object.dept_id, SysUser.dept_id.in_(
select(SysDept.dept_id).where(func.find_in_set(query_object.dept_id, SysDept.ancestors)) select(SysDept.dept_id).where(func.find_in_set(query_object.dept_id, SysDept.ancestors))
)) if query_object.dept_id else True, )) if query_object.dept_id else True,
@ -202,7 +202,7 @@ class UserDao:
if query_object.begin_time and query_object.end_time else True, if query_object.begin_time and query_object.end_time else True,
eval(data_scope_sql) eval(data_scope_sql)
) \ ) \
.join(SysDept, and_(SysUser.dept_id == SysDept.dept_id, SysDept.status == 0, SysDept.del_flag == 0), .join(SysDept, and_(SysUser.dept_id == SysDept.dept_id, SysDept.status == '0', SysDept.del_flag == '0'),
isouter=True) \ isouter=True) \
.distinct() .distinct()
user_list = await PageUtil.paginate(db, query, query_object.page_num, query_object.page_size, is_page) user_list = await PageUtil.paginate(db, query, query_object.page_num, query_object.page_size, is_page)
@ -260,7 +260,7 @@ class UserDao:
""" """
allocated_role_list = (await db.execute( allocated_role_list = (await db.execute(
select(SysRole) select(SysRole)
.where(SysRole.del_flag == 0, .where(SysRole.del_flag == '0',
SysRole.role_id != 1, SysRole.role_id != 1,
SysRole.role_name == query_object.role_name if query_object.role_name else True, SysRole.role_name == query_object.role_name if query_object.role_name else True,
SysRole.role_key == query_object.role_key if query_object.role_key else True, SysRole.role_key == query_object.role_key if query_object.role_key else True,
@ -283,7 +283,7 @@ class UserDao:
:return: 角色已分配的用户列表信息 :return: 角色已分配的用户列表信息
""" """
query = select(SysUser) \ query = select(SysUser) \
.where(SysUser.del_flag == 0, .where(SysUser.del_flag == '0',
SysUser.user_id != 1, SysUser.user_id != 1,
SysUser.user_name == query_object.user_name if query_object.user_name else True, SysUser.user_name == query_object.user_name if query_object.user_name else True,
SysUser.phonenumber == query_object.phonenumber if query_object.phonenumber else True, SysUser.phonenumber == query_object.phonenumber if query_object.phonenumber else True,
@ -306,7 +306,7 @@ class UserDao:
:return: 角色未分配的用户列表信息 :return: 角色未分配的用户列表信息
""" """
query = select(SysUser) \ query = select(SysUser) \
.where(SysUser.del_flag == 0, .where(SysUser.del_flag == '0',
SysUser.user_id != 1, SysUser.user_id != 1,
SysUser.user_name == query_object.user_name if query_object.user_name else True, SysUser.user_name == query_object.user_name if query_object.user_name else True,
SysUser.phonenumber == query_object.phonenumber if query_object.phonenumber else True, SysUser.phonenumber == query_object.phonenumber if query_object.phonenumber else True,
@ -402,7 +402,7 @@ class UserDao:
dept_basic_info = (await db.execute( dept_basic_info = (await db.execute(
select(SysDept) select(SysDept)
.where(SysDept.dept_id == dept_id, .where(SysDept.dept_id == dept_id,
SysDept.status == 0, SysDept.status == '0',
SysDept.del_flag == 0) SysDept.del_flag == '0')
)).scalars().first() )).scalars().first()
return dept_basic_info return dept_basic_info

Loading…
Cancel
Save