kangda/app/schemas/event.py

200 lines
5.8 KiB
Python

from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, ConfigDict
from app.models.models import Robot
class ImageBase(BaseModel):
imageUrl: str
localPath: Optional[str] = None
model_config = ConfigDict(from_attributes=True)
class TemperatureBase(BaseModel):
temperature: str
confidence: str
createTime: datetime
model_config = ConfigDict(from_attributes=True)
class EventBase(BaseModel):
eventId: str
tenantInfoId: Optional[str] = None
reportEventId: Optional[str] = None
number: Optional[str] = None
name: Optional[str] = None
etypeName: Optional[str] = None
insDate: Optional[datetime] = None
model_config = ConfigDict(from_attributes=True)
class EventList(EventBase):
images: List[ImageBase] = []
temperatures: List[TemperatureBase] = []
model_config = ConfigDict(from_attributes=True)
class EventDetail(EventBase):
eclassify: Optional[str] = None
operationType: Optional[str] = None
etype: Optional[str] = None
enTypeName: Optional[str] = None
hkTypeName: Optional[str] = None
reportStatus: Optional[str] = None
results: Optional[str] = None
insDateShow: Optional[datetime] = None
updDate: Optional[datetime] = None
updDateShow: Optional[datetime] = None
fileType: Optional[str] = None
area: Optional[str] = None
floor: Optional[str] = None
map: Optional[str] = None
staffId: Optional[str] = None
targetUserId: Optional[str] = None
position: Optional[str] = None
actualStaffName: Optional[str] = None
targetStaffName: Optional[str] = None
routeName: Optional[str] = None
phoneAddress: Optional[str] = None
width: Optional[str] = None
height: Optional[str] = None
resolution: Optional[str] = None
originX: Optional[str] = None
originY: Optional[str] = None
robotType: Optional[str] = None
eventFloor: Optional[str] = None
floorName: Optional[str] = None
coordId: Optional[str] = None
coord: Optional[str] = None
coordName: Optional[str] = None
positonName: Optional[str] = None
processingRemark: Optional[str] = None
carId: Optional[str] = None
parkingSpaceType: Optional[str] = None
parkingSpaceNumber: Optional[str] = None
carNumber: Optional[str] = None
eno: Optional[str] = None
instrument: Optional[str] = None
evideo: Optional[str] = None
createTime: Optional[datetime] = None
updateTime: Optional[datetime] = None
images: List[ImageBase] = []
temperatures: List[TemperatureBase] = []
model_config = ConfigDict(from_attributes=True)
class EventUpdate(BaseModel):
number: Optional[str] = None
name: Optional[str] = None
etypeName: Optional[str] = None
area: Optional[str] = None
position: Optional[str] = None
processingRemark: Optional[str] = None
model_config = ConfigDict(from_attributes=True)
class EventQuery(BaseModel):
start_time: Optional[datetime] = None
end_time: Optional[datetime] = None
etypeName: Optional[str] = None
area: Optional[str] = None
skip: int = 0
limit: int = 100
model_config = ConfigDict(from_attributes=True)
# 后台获取事件列表
class BackStageEvent(BaseModel):
eventId: str
number: Optional[str] = None
name : Optional[str] = None
imageUrl : Optional[str] = None
localPath: Optional[str] = None
temperature: Optional[str] = None
confidence : Optional[str] = None
status: Optional[str] = None
createTime: Optional[datetime] = None
model_config = ConfigDict(from_attributes=True)
# 后台获取事件DTO
class BackStageEventDto(BaseModel):
eventId: Optional[str] = None
number: Optional[str] = None
name: Optional[str] = None
start_time : Optional[datetime] = None
end_time : Optional[datetime] = None
status: Optional[str] = None
skip: int = 0
limit: int = 100
class EditTemperatureDto(BaseModel):
status: Optional[str] = None
temperature: Optional[str] = None
class GetRobotDto(BaseModel):
number: Optional[str] = None
status: Optional[str] = None
onlineStatus: Optional[str] = None
# 后台查看事件详情
class BackStageEventDetail(BaseModel):
eventId:str = None
number: Optional[str] = None
name: Optional[str] = None
imageUrl : Optional[str] = None
localPath: Optional[str] = None
createTime: Optional[datetime] = None
temperature: Optional[str] = None
confidence : Optional[str] = None
status: Optional[str] = None
reason: Optional[str] = None
remark: Optional[str] = None
# 通常告警消息列表
class CommonAlertMessage(BaseModel):
messageId: int
eventId: str
messageType: Optional[str] = None
eventType: Optional[str] = None
createTime: Optional[datetime] = None
handle: Optional[str] = None
remark: Optional[str] = None
number: Optional[str] = None
name: Optional[str] = None
imageUrl : Optional[List[str]] = None
# localPath: Optional[List[str]] = None
# temperature : Optional[str] = None
model_config = ConfigDict(from_attributes=True)
# 报警消息列表
class OcrAlertMessage(CommonAlertMessage):
# messageId: int
# eventId: str
# messageType: Optional[str] = None
# eventType: Optional[str] = None
# createTime: Optional[datetime] = None
# handle: Optional[str] = None
# remark: Optional[str] = None
# number: Optional[str] = None
# name: Optional[str] = None
# imageUrl : Optional[str] = None
# localPath: Optional[str] = None
temperature : Optional[str] = None
# model_config = ConfigDict(from_attributes=True)
# 处理消息DTO
class OcrAlertMessageDto(BaseModel):
messageId: int
remark: Optional[str] = None