1.实现查看告警消息数量信息接口

This commit is contained in:
haotian 2025-07-30 11:51:18 +08:00
parent 707dd6bd83
commit d4c7106fc4
3 changed files with 44 additions and 1 deletions

View File

@ -18,6 +18,14 @@ from utils.response_util import ResponseUtil
messageController = APIRouter(prefix='/system/message', dependencies=[Depends(LoginService.get_current_user)])
# 查询告警数量信息
@messageController.get(
'/count_message',
)
async def count_message(request: Request, query_db: AsyncSession = Depends(get_db)):
""""""
count_message_result = await MessageService.count_message(query_db)
return ResponseUtil.success(data = count_message_result)
@messageController.get(
'/list', response_model=PageResponseModel

View File

@ -1,4 +1,4 @@
from sqlalchemy import delete, select, update
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.message_vo import MessageModel, MessagePageQueryModel
@ -35,6 +35,28 @@ class MessageDao:
return message_info
@classmethod
async def count_message(cls, db: AsyncSession):
query_unhandled_message_count = (
select(func.count(Message.message_id))
.where(Message.status=='0', Message.type=='0')
)
unhandled_message_count = (
await db.execute(query_unhandled_message_count)
).scalar()
query_handled_message_count = (
select(func.count(Message.message_id))
.where(Message.status=='1', Message.type=='0')
)
handled_message_count = (
await db.execute(query_handled_message_count)
).scalar()
return unhandled_message_count+ handled_message_count, unhandled_message_count, handled_message_count
@classmethod
async def get_message_detail_by_info(cls, db: AsyncSession, message: MessageModel):
"""

View File

@ -30,6 +30,19 @@ class MessageService:
return message_list_result
@classmethod
async def count_message(cls, query_db: AsyncSession,):
"""
获取系统消息数量service
:param query_db: orm对象
:return:
total 总消息数
unhandled 未处理消息数
handled 已处理消息数
"""
total, unhandled, handled = await MessageDao.count_message(query_db)
return {'total': total, 'unhandled': unhandled, 'handled': handled}
@classmethod
async def add_message_services(cls, query_db: AsyncSession, page_object: MessageModel):