diff --git a/app/models.py b/app/models.py index 90d4f6e..714826c 100644 --- a/app/models.py +++ b/app/models.py @@ -295,9 +295,9 @@ class AlarmEvent(Base): "algorithm_code": self.algorithm_code, "device_id": self.device_id, "scene_id": self.scene_id, - "event_time": self.event_time.isoformat() if self.event_time else None, - "first_frame_time": self.first_frame_time.isoformat() if self.first_frame_time else None, - "last_frame_time": self.last_frame_time.isoformat() if self.last_frame_time else None, + "event_time": self.event_time.strftime('%Y-%m-%d %H:%M:%S') if self.event_time else None, + "first_frame_time": self.first_frame_time.strftime('%Y-%m-%d %H:%M:%S') if self.first_frame_time else None, + "last_frame_time": self.last_frame_time.strftime('%Y-%m-%d %H:%M:%S') if self.last_frame_time else None, "duration_ms": self.duration_ms, "alarm_level": self.alarm_level, "confidence_score": self.confidence_score, @@ -308,9 +308,9 @@ class AlarmEvent(Base): "edge_node_id": self.edge_node_id, "handler": self.handler, "handle_remark": self.handle_remark, - "handled_at": self.handled_at.isoformat() if self.handled_at else None, - "created_at": self.created_at.isoformat() if self.created_at else None, - "updated_at": self.updated_at.isoformat() if self.updated_at else None, + "handled_at": self.handled_at.strftime('%Y-%m-%d %H:%M:%S') if self.handled_at else None, + "created_at": self.created_at.strftime('%Y-%m-%d %H:%M:%S') if self.created_at else None, + "updated_at": self.updated_at.strftime('%Y-%m-%d %H:%M:%S') if self.updated_at else None, } diff --git a/app/services/alarm_event_service.py b/app/services/alarm_event_service.py index af83b48..7cbbd02 100644 --- a/app/services/alarm_event_service.py +++ b/app/services/alarm_event_service.py @@ -541,11 +541,12 @@ class AlarmEventService: alarm.duration_ms = duration_ms - # 解析 last_frame_time + # 解析 last_frame_time,去除微秒保持格式一致 try: - alarm.last_frame_time = datetime.fromisoformat(last_frame_time.replace("Z", "+00:00")) + parsed_time = datetime.fromisoformat(last_frame_time.replace("Z", "+00:00")) + alarm.last_frame_time = parsed_time.replace(microsecond=0) except Exception: - alarm.last_frame_time = datetime.now(timezone.utc) + alarm.last_frame_time = datetime.now(timezone.utc).replace(microsecond=0) # 如果是人员回岗,标记为自动关闭 if resolve_type == "person_returned":