添加, websocket同步消息时添加message告警消息
This commit is contained in:
parent
d9de1df556
commit
c33a04e74a
@ -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" # 测试数据库
|
||||
|
||||
@ -9,7 +9,7 @@ from app.core.database import async_session
|
||||
from app.models.models import Event, Image, Temperature, Message, Robot
|
||||
from app.util.kangda import Kangda
|
||||
from app.util.baiduOcr import BadiduOcr
|
||||
from app.util.status import EventType
|
||||
from app.util.status import EventType, etypeNameDict
|
||||
|
||||
|
||||
class EventSyncService:
|
||||
@ -140,13 +140,32 @@ class EventSyncService:
|
||||
|
||||
# 保存ocr温度信息
|
||||
await self._ocr_images(session, image_list)
|
||||
|
||||
# 保存告警消息
|
||||
await self._save_message(session, detail)
|
||||
except Exception as e:
|
||||
session.rollback()
|
||||
print(f"事件: {eventId} 同步失败: {str(e)}")
|
||||
|
||||
print(f"事件: {eventId} 同步完成")
|
||||
|
||||
# 保存告警消息
|
||||
async def _save_message(self, session: AsyncSession, detail: Dict[str, Any]):
|
||||
if not detail.get("etypeName"):
|
||||
return
|
||||
|
||||
message = Message(
|
||||
eventId = detail.get("eventId")
|
||||
)
|
||||
if detail.get("etypeName") not in etypeNameDict:
|
||||
print("未知消息类型")
|
||||
message.eventType = EventType.ERRORTYPE.value
|
||||
else:
|
||||
message.eventType = etypeNameDict[detail.get("etypeName")]
|
||||
|
||||
session.add(message)
|
||||
await session.commit()
|
||||
# pass
|
||||
|
||||
async def _get_new_events(self, event_list: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
|
||||
"""获取新事件列表"""
|
||||
@ -269,15 +288,15 @@ class EventSyncService:
|
||||
)
|
||||
session.add(temperature)
|
||||
|
||||
# 异常消息
|
||||
if status.value != 0:
|
||||
print("发送异常消息")
|
||||
message = Message(
|
||||
eventId = image.eventId,
|
||||
messageType = status.value,
|
||||
eventType = EventType.HOT.value
|
||||
)
|
||||
session.add(message)
|
||||
# # 异常消息.--- 现改为统一发送消息
|
||||
# if status.value != 0:
|
||||
# print("发送异常消息")
|
||||
# message = Message(
|
||||
# eventId = image.eventId,
|
||||
# messageType = status.value,
|
||||
# eventType = EventType.HOT.value
|
||||
# )
|
||||
# session.add(message)
|
||||
try:
|
||||
await session.commit()
|
||||
except Exception as e:
|
||||
|
||||
@ -18,6 +18,19 @@ class EventType(Enum):
|
||||
AIRQUALITY = 4 # 空气质量报警
|
||||
STOPEMERGENCY = 5 # 急停按下
|
||||
VOICENOTCONNECT = 6 #语音未接通
|
||||
DAILYINSPECT = 7 # 日常巡检
|
||||
|
||||
ERRORTYPE = 9 # 异常告警信息
|
||||
|
||||
|
||||
etypeNameDict = {
|
||||
"高温感知报警": EventType.HightTemperature.value,
|
||||
"吸烟报警(新)": EventType.SMOKE.value,
|
||||
"长时间滞留报警": EventType.LONGSTAY.value,
|
||||
"空气质量报警": EventType.AIRQUALITY.value,
|
||||
"急停按下" : EventType.STOPEMERGENCY.value,
|
||||
"语音未接通": EventType.VOICENOTCONNECT.value,
|
||||
"日常巡检": EventType.DAILYINSPECT.value
|
||||
}
|
||||
|
||||
|
||||
@ -7,5 +7,5 @@ from app.services.event_sync_service import run_sync, run_sync_event
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("启动事件同步服务...")
|
||||
asyncio.run(run_sync())
|
||||
# asyncio.run(run_sync_event("6c1cc5c6a4c74af0ba8932f5db7023f4"))
|
||||
# asyncio.run(run_sync())
|
||||
asyncio.run(run_sync_event("f3a4951618334c7dafef03ad5345a3c1"))
|
||||
Loading…
Reference in New Issue
Block a user