修改--修改获取告警消息列表返回内容

This commit is contained in:
haotian 2025-06-03 17:34:57 +08:00
parent ed8c24d40b
commit eb49b185e4
2 changed files with 65 additions and 10 deletions

View File

@ -6,6 +6,7 @@ from app.crud.event import event
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
from app.util.status import EventType
# import datetime
@ -106,7 +107,9 @@ async def delete_event(
return BaseResponse(code=200, msg="success", data=EventDetail.model_validate(event_obj))
# 获取未处理告警消息列表
@router.get("/events/messagesUnhandled", response_model=BaseResponse[List[OcrAlertMessage]])
@router.get("/events/messagesUnhandled",
# response_model=BaseResponse[dict]
)
async def get_messages_unhandle(
db: AsyncSession = Depends(get_db),
skip: int = Query(0, ge=0),
@ -114,19 +117,23 @@ async def get_messages_unhandle(
):
"""_summary_
获取告警消息列表
"""
message = await event.get_messages(db, skip=skip, limit=limit, condition=[Message.handle=="0"])
return BaseResponse(code=200, msg="success", data=message)
data = await get_message_by_event_type(db, "0", skip, limit)
return BaseResponse(code=200, msg="success", data=data)
# 获取已处理告警消息列表
@router.get("/events/messagesHandled", response_model=BaseResponse[List[OcrAlertMessage]])
@router.get("/events/messagesHandled",
# response_model=BaseResponse[dict]
)
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)
data = await get_message_by_event_type(db, "1", skip, limit)
return BaseResponse(code=200, msg="success", data=data)
# 批量处理告警数据--传递messageId List
@router.post("/events/handleOcrAlerts", response_model=BaseResponse)
@ -218,6 +225,54 @@ async def get_robot_st(
"disable_count": disable_count
})
async def get_message_by_event_type(
db:AsyncSession ,
handle: str ,
skip: int ,
limit: int
):
# 高温报警消息
high_temperature_message = await event.get_messages(db,
skip=skip,
limit=limit,
condition=[Message.handle==handle, Message.eventType==EventType.HightTemperature.value])
smoke_message = await event.get_messages(db,
skip=skip,
limit=limit,
condition=[Message.handle==handle, Message.eventType==EventType.SMOKE.value])
long_staty_message = await event.get_messages(db,
skip=skip,
limit=limit,
condition=[Message.handle==handle, Message.eventType==EventType.LONGSTAY.value])
air_quality_message = await event.get_messages(db,
skip=skip,
limit=limit,
condition=[Message.handle==handle, Message.eventType==EventType.AIRQUALITY.value])
stop_emergency_message = await event.get_messages(db,
skip=skip,
limit=limit,
condition=[Message.handle==handle, Message.eventType==EventType.STOPEMERGENCY.value])
voice_connect_message = await event.get_messages(db,
skip=skip,
limit=limit,
condition=[Message.handle==handle, Message.eventType==EventType.VOICENOTCONNECT.value])
daily_inspect_message = await event.get_messages(db,
skip=skip,
limit=limit,
condition=[Message.handle==handle, Message.eventType==EventType.DAILYINSPECT.value])
return {
"high_temperature_message": high_temperature_message,
"smoke_message": smoke_message,
"long_staty_message": long_staty_message,
"air_quality_message": air_quality_message,
"stop_emergency_message": stop_emergency_message,
"voice_connect_message": voice_connect_message,
"daily_inspect_message": daily_inspect_message,
}

View File

@ -2,12 +2,12 @@ from pydantic_settings import BaseSettings
class Settings(BaseSettings):
# 数据库配置
# DB_HOST: str = "14.103.162.172"
DB_HOST: str = "10.0.0.17"
DB_HOST: str = "14.103.162.172"
# DB_HOST: str = "10.0.0.17"
DB_PORT: int = 3306
DB_USER: str = "root"
# DB_PASSWORD: str = "dnxxkj"
DB_PASSWORD: str = "root"
DB_PASSWORD: str = "dnxxkj"
# DB_PASSWORD: str = "root"
DB_NAME: str = "kangda"
# DB_NAME: str = "kangda_test" # 测试数据库