style: 使用ruff格式化菜单管理模块,优化导入

This commit is contained in:
insistence
2024-07-12 09:59:12 +08:00
parent 2c86992cac
commit 5891ec1930
5 changed files with 186 additions and 114 deletions

View File

@@ -1,9 +1,9 @@
from sqlalchemy import select, update, delete, and_, func
from sqlalchemy import and_, delete, func, select, update
from sqlalchemy.ext.asyncio import AsyncSession
from module_admin.entity.do.menu_do import SysMenu
from module_admin.entity.do.user_do import SysUser, SysUserRole
from module_admin.entity.do.role_do import SysRole, SysRoleMenu
from module_admin.entity.vo.menu_vo import *
from module_admin.entity.do.user_do import SysUser, SysUserRole
from module_admin.entity.vo.menu_vo import MenuModel, MenuQueryModel
class MenuDao:
@@ -19,10 +19,7 @@ class MenuDao:
:param menu_id: 菜单id
:return: 菜单信息对象
"""
menu_info = (await db.execute(
select(SysMenu)
.where(SysMenu.menu_id == menu_id)
)).scalars().first()
menu_info = (await db.execute(select(SysMenu).where(SysMenu.menu_id == menu_id))).scalars().first()
return menu_info
@@ -34,12 +31,19 @@ class MenuDao:
:param menu: 菜单参数对象
:return: 菜单信息对象
"""
menu_info = (await db.execute(
select(SysMenu)
.where(SysMenu.parent_id == menu.parent_id if menu.parent_id else True,
SysMenu.menu_name == menu.menu_name if menu.menu_name else True,
SysMenu.menu_type == menu.menu_type if menu.menu_type else True)
)).scalars().first()
menu_info = (
(
await db.execute(
select(SysMenu).where(
SysMenu.parent_id == menu.parent_id if menu.parent_id else True,
SysMenu.menu_name == menu.menu_name if menu.menu_name else True,
SysMenu.menu_type == menu.menu_type if menu.menu_type else True,
)
)
)
.scalars()
.first()
)
return menu_info
@@ -54,26 +58,35 @@ class MenuDao:
"""
role_id_list = [item.role_id for item in role]
if 1 in role_id_list:
menu_query_all = (await db.execute(
select(SysMenu)
.where(SysMenu.status == '0')
.order_by(SysMenu.order_num)
.distinct()
)).scalars().all()
menu_query_all = (
(await db.execute(select(SysMenu).where(SysMenu.status == '0').order_by(SysMenu.order_num).distinct()))
.scalars()
.all()
)
else:
menu_query_all = (await db.execute(
select(SysMenu)
.select_from(SysUser)
.where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.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'),
isouter=True)
.join(SysRoleMenu, SysRole.role_id == SysRoleMenu.role_id, isouter=True)
.join(SysMenu, and_(SysRoleMenu.menu_id == SysMenu.menu_id, SysMenu.status == '0'))
.order_by(SysMenu.order_num)
.distinct()
)).scalars().all()
menu_query_all = (
(
await db.execute(
select(SysMenu)
.select_from(SysUser)
.where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.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'
),
isouter=True,
)
.join(SysRoleMenu, SysRole.role_id == SysRoleMenu.role_id, isouter=True)
.join(SysMenu, and_(SysRoleMenu.menu_id == SysMenu.menu_id, SysMenu.status == '0'))
.order_by(SysMenu.order_num)
.distinct()
)
)
.scalars()
.all()
)
return menu_query_all
@@ -89,31 +102,52 @@ class MenuDao:
"""
role_id_list = [item.role_id for item in role]
if 1 in role_id_list:
menu_query_all = (await db.execute(
select(SysMenu)
.where(SysMenu.status == page_object.status if page_object.status else True,
SysMenu.menu_name.like(
f'%{page_object.menu_name}%') if page_object.menu_name else True)
.order_by(SysMenu.order_num)
.distinct()
)).scalars().all()
menu_query_all = (
(
await db.execute(
select(SysMenu)
.where(
SysMenu.status == page_object.status if page_object.status else True,
SysMenu.menu_name.like(f'%{page_object.menu_name}%') if page_object.menu_name else True,
)
.order_by(SysMenu.order_num)
.distinct()
)
)
.scalars()
.all()
)
else:
menu_query_all = (await db.execute(
select(SysMenu)
.select_from(SysUser)
.where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.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'),
isouter=True)
.join(SysRoleMenu, SysRole.role_id == SysRoleMenu.role_id, isouter=True)
.join(SysMenu, and_(SysRoleMenu.menu_id == SysMenu.menu_id,
SysMenu.status == page_object.status if page_object.status else True,
SysMenu.menu_name.like(
f'%{page_object.menu_name}%') if page_object.menu_name else True))
.order_by(SysMenu.order_num)
.distinct()
)).scalars().all()
menu_query_all = (
(
await db.execute(
select(SysMenu)
.select_from(SysUser)
.where(SysUser.status == '0', SysUser.del_flag == '0', SysUser.user_id == user_id)
.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'
),
isouter=True,
)
.join(SysRoleMenu, SysRole.role_id == SysRoleMenu.role_id, isouter=True)
.join(
SysMenu,
and_(
SysRoleMenu.menu_id == SysMenu.menu_id,
SysMenu.status == page_object.status if page_object.status else True,
SysMenu.menu_name.like(f'%{page_object.menu_name}%') if page_object.menu_name else True,
),
)
.order_by(SysMenu.order_num)
.distinct()
)
)
.scalars()
.all()
)
return menu_query_all
@@ -139,10 +173,7 @@ class MenuDao:
:param menu: 需要更新的菜单字典
:return:
"""
await db.execute(
update(SysMenu),
[menu]
)
await db.execute(update(SysMenu), [menu])
@classmethod
async def delete_menu_dao(cls, db: AsyncSession, menu: MenuModel):
@@ -152,10 +183,7 @@ class MenuDao:
:param menu: 菜单对象
:return:
"""
await db.execute(
delete(SysMenu)
.where(SysMenu.menu_id.in_([menu.menu_id]))
)
await db.execute(delete(SysMenu).where(SysMenu.menu_id.in_([menu.menu_id])))
@classmethod
async def has_child_by_menu_id_dao(cls, db: AsyncSession, menu_id: int):
@@ -165,11 +193,9 @@ class MenuDao:
:param menu_id: 菜单id
:return: 菜单关联子菜单的数量
"""
menu_count = (await db.execute(
select(func.count('*'))
.select_from(SysMenu)
.where(SysMenu.parent_id == menu_id)
)).scalar()
menu_count = (
await db.execute(select(func.count('*')).select_from(SysMenu).where(SysMenu.parent_id == menu_id))
).scalar()
return menu_count
@@ -181,10 +207,8 @@ class MenuDao:
:param menu_id: 菜单id
:return: 菜单关联角色数量
"""
role_count = (await db.execute(
select(func.count('*'))
.select_from(SysRoleMenu)
.where(SysRoleMenu.menu_id == menu_id)
)).scalar()
role_count = (
await db.execute(select(func.count('*')).select_from(SysRoleMenu).where(SysRoleMenu.menu_id == menu_id))
).scalar()
return role_count