From 734491a01ae52550ea74aac9832a2733cf7a289e Mon Sep 17 00:00:00 2001 From: haotian <2421912570@qq.com> Date: Wed, 30 Jul 2025 14:39:23 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=AE=9E=E7=8E=B0=E4=B8=80=E5=BB=BA=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=91=8A=E8=AD=A6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/message_controller.py | 18 ++++++++++++++++++ .../module_admin/dao/message_dao.py | 14 ++++++++++++++ .../module_admin/service/message_service.py | 4 ++++ 3 files changed, 36 insertions(+) diff --git a/ruoyi-fastapi-backend/module_admin/controller/message_controller.py b/ruoyi-fastapi-backend/module_admin/controller/message_controller.py index 134df64..88ffb8e 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/message_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/message_controller.py @@ -6,6 +6,7 @@ from config.enums import BusinessType from config.get_db import get_db from module_admin.annotation.log_annotation import Log from module_admin.aspect.interface_auth import CheckUserInterfaceAuth +from module_admin.entity.vo.common_vo import CrudResponseModel from module_admin.entity.vo.user_vo import CurrentUserModel from module_admin.service.login_service import LoginService from module_admin.service.message_service import MessageService @@ -18,6 +19,23 @@ from utils.response_util import ResponseUtil messageController = APIRouter(prefix='/system/message', dependencies=[Depends(LoginService.get_current_user)]) + + +# 一键处理未处理的告警消息 +@messageController.get( + '/handle_all' +) +async def handle_all_message( + query_db: AsyncSession = Depends(get_db), +): + try: + await MessageService.handle_all_message_services(query_db) + await query_db.commit() + return CrudResponseModel(is_success=True, message='处理成功') + except Exception as e: + await query_db.rollback() + raise e + # 查询告警数量信息 @messageController.get( '/count_message', diff --git a/ruoyi-fastapi-backend/module_admin/dao/message_dao.py b/ruoyi-fastapi-backend/module_admin/dao/message_dao.py index ff2eddc..db13636 100644 --- a/ruoyi-fastapi-backend/module_admin/dao/message_dao.py +++ b/ruoyi-fastapi-backend/module_admin/dao/message_dao.py @@ -1,6 +1,7 @@ from sqlalchemy import delete, select, update, func from sqlalchemy.ext.asyncio import AsyncSession from module_admin.entity.do.message_do import Message +from module_admin.entity.vo.common_vo import CrudResponseModel from module_admin.entity.vo.message_vo import MessageModel, MessagePageQueryModel from utils.page_util import PageUtil from datetime import datetime, time @@ -11,6 +12,19 @@ class MessageDao: 系统消息模块数据库操作层 """ + @classmethod + async def handle_all_message(cls, db: AsyncSession): + query = ( + update(Message) + .where(Message.status == '0', Message.type == '0') + .values(status='1') + ) + + + await db.execute(query) + + + @classmethod async def get_message_detail_by_id(cls, db: AsyncSession, message_id: int): """ diff --git a/ruoyi-fastapi-backend/module_admin/service/message_service.py b/ruoyi-fastapi-backend/module_admin/service/message_service.py index add0a44..0a0fc35 100644 --- a/ruoyi-fastapi-backend/module_admin/service/message_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/message_service.py @@ -14,6 +14,10 @@ class MessageService: 系统消息模块服务层 """ + @classmethod + async def handle_all_message_services(cls,db: AsyncSession): + return await MessageDao.handle_all_message(db) + @classmethod async def get_message_list_services( cls, query_db: AsyncSession, query_object: MessagePageQueryModel, is_page: bool = False