diff --git a/app/api/v1/endpoints/events.py b/app/api/v1/endpoints/events.py index fa3a26f..ef8e43b 100644 --- a/app/api/v1/endpoints/events.py +++ b/app/api/v1/endpoints/events.py @@ -421,6 +421,13 @@ async def get_robot_st( "disable_count": disable_count }) +# 获取事件类型下拉列表 +@router.get("/events/getEtypeNameList") +async def get_etype_name_list( + db: AsyncSession = Depends(get_db) +): + etype_name_list = await event.get_etype_name_list(db) + return BaseResponse(code=200, msg="success", data=etype_name_list) # 获取机器人任务列表 @router.get("/events/robotTask") async def get_robot_task( diff --git a/app/crud/event.py b/app/crud/event.py index af8f17a..7936a60 100644 --- a/app/crud/event.py +++ b/app/crud/event.py @@ -294,7 +294,7 @@ class CRUDEvent(CRUDBase[Event, EventUpdate, EventUpdate]): 获取机器人所有的告警 """ query_stmt = ( - select(Message.messageId, Message.handle, Message.remark, Message.eventId,Event.number, Event.name, Event.etypeName) + select(Message.messageId, Message.handle, Message.remark, Message.eventId,Message.createTime,Event.number, Event.name, Event.etypeName) .select_from(Message) .outerjoin(Event, Message.eventId==Event.eventId) .where(Event.number == number) @@ -520,7 +520,18 @@ class CRUDEvent(CRUDBase[Event, EventUpdate, EventUpdate]): except Exception as e: print(f"{e}") + async def get_etype_name_list( + self, + db: AsyncSession + ): + query_stmt = ( + select(Event.etypeName) + .group_by(Event.etypeName) + ) + + results = await db.execute(query_stmt) + return results.scalars().all() async def get_robot_task( self, db: AsyncSession, diff --git a/app/schemas/event.py b/app/schemas/event.py index 212edfe..1f06799 100644 --- a/app/schemas/event.py +++ b/app/schemas/event.py @@ -216,4 +216,5 @@ class AllMessageDto(BaseModel): etypeName: Optional[str] = None handle: Optional[str] = None remark: Optional[str] = None + createTime: Optional[datetime] = None \ No newline at end of file diff --git a/change_log.md b/change_log.md index 89626a6..3c4b1e6 100644 --- a/change_log.md +++ b/change_log.md @@ -22,3 +22,4 @@ - 修改/events/alertCount 接口, 添加总告警消息数量字段 - 添加 /events/getAllAlertMessage/{number} 接口, 查看全部--获取所有输入该机器人的所有告警消息. - 修改 /events/messagesHandled, /api/v1/events/messagesUnhandled, 添加可选的查询参数 etypeName +- 添加 /events/getEtypeNameList 接口, 获取事件类型下拉框