From ab7ea066c71d006db5dc8a3d8b6e31430438df19 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Fri, 26 Jan 2024 08:57:00 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97=E5=88=86=E9=A1=B5=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/controller/post_controler.py | 10 +++------- ruoyi-fastapi-backend/module_admin/dao/post_dao.py | 9 ++++++--- .../module_admin/service/post_service.py | 7 ++++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/controller/post_controler.py b/ruoyi-fastapi-backend/module_admin/controller/post_controler.py index d07d2b1..ebf41ea 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/post_controler.py +++ b/ruoyi-fastapi-backend/module_admin/controller/post_controler.py @@ -18,11 +18,8 @@ postController = APIRouter(prefix='/system/post', dependencies=[Depends(LoginSer @postController.get("/list", response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('system:post:list'))]) async def get_system_post_list(request: Request, post_page_query: PostPageQueryModel = Depends(PostPageQueryModel.as_query), query_db: Session = Depends(get_db)): try: - post_query = PostModel(**post_page_query.model_dump(by_alias=True)) - # 获取全量数据 - post_query_result = PostService.get_post_list_services(query_db, post_query) - # 分页操作 - post_page_query_result = get_page_obj(post_query_result, post_page_query.page_num, post_page_query.page_size) + # 获取分页数据 + post_page_query_result = PostService.get_post_list_services(query_db, post_page_query, is_page=True) logger.info('获取成功') return ResponseUtil.success(model_content=post_page_query_result) except Exception as e: @@ -98,9 +95,8 @@ async def query_detail_system_post(request: Request, post_id: int, query_db: Ses @log_decorator(title='岗位管理', business_type=5) async def export_system_post_list(request: Request, post_page_query: PostPageQueryModel = Depends(PostPageQueryModel.as_form), query_db: Session = Depends(get_db)): try: - post_query = PostModel(**post_page_query.model_dump(by_alias=True)) # 获取全量数据 - post_query_result = PostService.get_post_list_services(query_db, post_query) + post_query_result = PostService.get_post_list_services(query_db, post_page_query, is_page=False) post_export_result = PostService.export_post_list_services(post_query_result) logger.info('导出成功') return ResponseUtil.streaming(data=bytes2file_response(post_export_result)) diff --git a/ruoyi-fastapi-backend/module_admin/dao/post_dao.py b/ruoyi-fastapi-backend/module_admin/dao/post_dao.py index 1c32dc3..2cb7f89 100644 --- a/ruoyi-fastapi-backend/module_admin/dao/post_dao.py +++ b/ruoyi-fastapi-backend/module_admin/dao/post_dao.py @@ -1,6 +1,7 @@ from sqlalchemy.orm import Session from module_admin.entity.do.post_do import SysPost from module_admin.entity.vo.post_vo import * +from utils.page_util import PageUtil class PostDao: @@ -54,20 +55,22 @@ class PostDao: return post_info @classmethod - def get_post_list(cls, db: Session, query_object: PostModel): + def get_post_list(cls, db: Session, query_object: PostPageQueryModel, is_page: bool = False): """ 根据查询参数获取岗位列表信息 :param db: orm对象 :param query_object: 查询参数对象 + :param is_page: 是否开启分页 :return: 岗位列表信息对象 """ - post_list = db.query(SysPost) \ + query = db.query(SysPost) \ .filter(SysPost.post_code.like(f'%{query_object.post_code}%') if query_object.post_code else True, SysPost.post_name.like(f'%{query_object.post_name}%') if query_object.post_name else True, SysPost.status == query_object.status if query_object.status else True ) \ .order_by(SysPost.post_sort) \ - .distinct().all() + .distinct() + post_list = PageUtil.paginate(query, query_object.page_num, query_object.page_size, is_page) return post_list diff --git a/ruoyi-fastapi-backend/module_admin/service/post_service.py b/ruoyi-fastapi-backend/module_admin/service/post_service.py index bc6f21f..d6b097f 100644 --- a/ruoyi-fastapi-backend/module_admin/service/post_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/post_service.py @@ -8,16 +8,17 @@ class PostService: 岗位管理模块服务层 """ @classmethod - def get_post_list_services(cls, query_db: Session, query_object: PostModel): + def get_post_list_services(cls, query_db: Session, query_object: PostPageQueryModel, is_page: bool = False): """ 获取岗位列表信息service :param query_db: orm对象 :param query_object: 查询参数对象 + :param is_page: 是否开启分页 :return: 岗位列表信息对象 """ - post_list_result = PostDao.get_post_list(query_db, query_object) + post_list_result = PostDao.get_post_list(query_db, query_object, is_page) - return CamelCaseUtil.transform_result(post_list_result) + return post_list_result @classmethod def add_post_services(cls, query_db: Session, page_object: PostModel):