添加--修改获取告警消息列表接口, 区分已处理和未处理
This commit is contained in:
parent
7f69977215
commit
d9de1df556
@ -3,7 +3,7 @@ from fastapi import APIRouter, Depends, HTTPException, Query, Body
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from app.core.database import get_db
|
||||
from app.crud.event import event
|
||||
from app.models.models import Robot
|
||||
from app.models.models import Robot, Message
|
||||
from app.schemas.event import EventList, EventDetail, EventUpdate, EventQuery, BackStageEvent, BackStageEventDto, BackStageEventDetail, EditTemperatureDto, OcrAlertMessage, OcrAlertMessageDto
|
||||
from app.util.httpResponse import BaseResponse
|
||||
|
||||
@ -105,9 +105,9 @@ async def delete_event(
|
||||
return BaseResponse(code=404,msg="事件不存在")
|
||||
return BaseResponse(code=200, msg="success", data=EventDetail.model_validate(event_obj))
|
||||
|
||||
# 获取告警消息列表
|
||||
@router.get("/events/messages", response_model=BaseResponse[List[OcrAlertMessage]])
|
||||
async def get_messages(
|
||||
# 获取未处理告警消息列表
|
||||
@router.get("/events/messagesUnhandled", response_model=BaseResponse[List[OcrAlertMessage]])
|
||||
async def get_messages_unhandle(
|
||||
db: AsyncSession = Depends(get_db),
|
||||
skip: int = Query(0, ge=0),
|
||||
limit: int = Query(100, ge=1, le=1000)
|
||||
@ -115,9 +115,19 @@ async def get_messages(
|
||||
"""_summary_
|
||||
获取告警消息列表
|
||||
"""
|
||||
message = await event.get_messages(db, skip=skip, limit=limit)
|
||||
message = await event.get_messages(db, skip=skip, limit=limit, condition=[Message.handle=="0"])
|
||||
return BaseResponse(code=200, msg="success", data=message)
|
||||
|
||||
# 获取已处理告警消息列表
|
||||
@router.get("/events/messagesHandled", response_model=BaseResponse[List[OcrAlertMessage]])
|
||||
async def get_messages_handle(
|
||||
db: AsyncSession = Depends(get_db),
|
||||
skip: int = Query(0, ge=0),
|
||||
limit: int = Query(100, ge=1, le=1000)
|
||||
):
|
||||
message = await event.get_messages(db, skip=skip, limit=limit, condition=[Message.handle=="1"])
|
||||
return BaseResponse(code=200, msg="success", data=message)
|
||||
|
||||
# 批量处理告警数据--传递messageId List
|
||||
@router.post("/events/handleOcrAlerts", response_model=BaseResponse)
|
||||
async def handle_ocr_alerts(
|
||||
|
||||
@ -191,7 +191,8 @@ class CRUDEvent(CRUDBase[Event, EventUpdate, EventUpdate]):
|
||||
self,
|
||||
db: AsyncSession,
|
||||
skip:int,
|
||||
limit:int
|
||||
limit:int,
|
||||
condition: list = []
|
||||
) -> Optional[List[OcrAlertMessage]]:
|
||||
query_stmt = (
|
||||
select(Message.messageId,Message.eventId ,Message.messageType, Message.eventType, Message.handle, Message.remark, Message.createTime,
|
||||
@ -202,6 +203,8 @@ class CRUDEvent(CRUDBase[Event, EventUpdate, EventUpdate]):
|
||||
.outerjoin(Event, Message.eventId == Event.eventId)
|
||||
.outerjoin(Image, Message.eventId == Image.eventId)
|
||||
.outerjoin(Temperature, Message.eventId == Temperature.eventId)
|
||||
.where(*condition)
|
||||
.order_by(Message.createTime.desc())
|
||||
.offset(skip)
|
||||
.limit(limit)
|
||||
)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user