style: 使用ruff格式化菜单管理模块,优化导入
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user