add 告警和联调问题修改
This commit is contained in:
47
talkingq-url/banban/service/device_alarm.py
Normal file
47
talkingq-url/banban/service/device_alarm.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from collections.abc import Mapping
|
||||
from typing import Any
|
||||
|
||||
from banban.dao.device_alarm import DeviceAlarmDAO
|
||||
from services.database_service_base import DatabaseServiceBase
|
||||
|
||||
|
||||
class DeviceAlarmService(DatabaseServiceBase):
|
||||
def __init__(self):
|
||||
super().__init__(service_name="device_alarm_service")
|
||||
|
||||
async def record_alarm_event(self, *, device_id: str, source_msg_id: str = "010") -> int | None:
|
||||
db_session = await self.get_session()
|
||||
try:
|
||||
dao = DeviceAlarmDAO(db_session)
|
||||
binding = await dao.get_active_binding_context(device_id=device_id)
|
||||
if not binding:
|
||||
return None
|
||||
return await dao.create(
|
||||
device_id=device_id,
|
||||
owner_user_id=int(binding["owner_user_id"]) if binding.get("owner_user_id") is not None else None,
|
||||
child_id=int(binding["child_id"]) if binding.get("child_id") is not None else None,
|
||||
source_msg_id=source_msg_id,
|
||||
)
|
||||
finally:
|
||||
await db_session.close()
|
||||
|
||||
async def list_device_alarms(
|
||||
self,
|
||||
*,
|
||||
device_id: str,
|
||||
owner_user_id: int,
|
||||
limit: int,
|
||||
) -> list[Mapping[str, Any]]:
|
||||
db_session = await self.get_session()
|
||||
try:
|
||||
dao = DeviceAlarmDAO(db_session)
|
||||
return await dao.list_by_device(
|
||||
device_id=device_id,
|
||||
owner_user_id=owner_user_id,
|
||||
limit=limit,
|
||||
)
|
||||
finally:
|
||||
await db_session.close()
|
||||
|
||||
|
||||
device_alarm_service = DeviceAlarmService()
|
||||
Reference in New Issue
Block a user