From a42403c49a802abd73288db1c964d39a5df547fa Mon Sep 17 00:00:00 2001 From: haotian <2421912570@qq.com> Date: Wed, 30 Jul 2025 09:57:40 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=AE=9E=E7=8E=B0=E5=88=B7=E6=96=B0=E6=9C=BA?= =?UTF-8?q?=E5=99=A8=E4=BA=BA=E7=8A=B6=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/controller/info_controller.py | 10 ++++++++++ .../module_admin/dao/info_dao.py | 16 ++++++++++++++++ .../module_admin/service/info_service.py | 5 +++++ 3 files changed, 31 insertions(+) diff --git a/ruoyi-fastapi-backend/module_admin/controller/info_controller.py b/ruoyi-fastapi-backend/module_admin/controller/info_controller.py index d95921d..91469a1 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/info_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/info_controller.py @@ -103,6 +103,16 @@ async def query_detail_system_info(request: Request, robot_id: int, query_db: As return ResponseUtil.success(data=info_detail_result) +# 根据机器人id刷新机器人信息 +@infoController.get('/refresh_robot/{robot_ids}' + # , dependencies=[Depends(CheckUserInterfaceAuth('system:info:add'))] +) +async def refresh_robot(request: Request,robot_ids: str , query_db: AsyncSession = Depends(get_db)): + refresh_result = await InfoService.refresh_robot_services(query_db, robot_ids) + logger.info(f'刷新机器人信息成功') + + return ResponseUtil.success(data=refresh_result) + @infoController.post('/export' # , dependencies=[Depends(CheckUserInterfaceAuth('system:info:export'))] diff --git a/ruoyi-fastapi-backend/module_admin/dao/info_dao.py b/ruoyi-fastapi-backend/module_admin/dao/info_dao.py index bd705b7..0e75867 100644 --- a/ruoyi-fastapi-backend/module_admin/dao/info_dao.py +++ b/ruoyi-fastapi-backend/module_admin/dao/info_dao.py @@ -11,6 +11,22 @@ class InfoDao: """ 机器人信息模块数据库操作层 """ + @classmethod + async def refresh_robot_by_ids(cls, db: AsyncSession, robot_ids: str): + id_list = map(int, robot_ids.strip(" ").split(',')) + refresh_result = ( + ( + await db.execute( + select(RobotInfo) + .where(RobotInfo.robot_id.in_(id_list)) + + ) + + ) + .scalars() + .all() + ) + return refresh_result @classmethod async def get_info_detail_by_id(cls, db: AsyncSession, robot_id: int): diff --git a/ruoyi-fastapi-backend/module_admin/service/info_service.py b/ruoyi-fastapi-backend/module_admin/service/info_service.py index 7a6fddc..7bc8a30 100644 --- a/ruoyi-fastapi-backend/module_admin/service/info_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/info_service.py @@ -14,6 +14,11 @@ class InfoService: 机器人信息模块服务层 """ + + @classmethod + async def refresh_robot_services(cls, query_db: AsyncSession, robot_ids: str): + return await InfoDao.refresh_robot_by_ids(query_db, robot_ids) + @classmethod async def get_info_list_services( cls, query_db: AsyncSession, query_object: InfoPageQueryModel, is_page: bool = False