Files
Tunnel/app/schemas/checkpoint.py
2025-12-12 10:57:31 +08:00

63 lines
1.8 KiB
Python

from pydantic import BaseModel
from typing import Optional, List
from datetime import datetime
class CheckpointCreate(BaseModel):
"""观测点创建"""
point_id: str
section_id: str
name: str
burial_date: Optional[datetime] = None
objstate: Optional[str] = None
monitoring_type: Optional[str] = None
period_number: Optional[int] = None
first_time: Optional[datetime] = None
manufacturer: Optional[str] = None
point_code: Optional[str] = None
class CheckpointResponse(BaseModel):
"""观测点响应"""
id: int
point_id: Optional[str] = None
section_id: str
name: str
burial_date: Optional[datetime] = None
objstate: Optional[str] = None
monitoring_type: Optional[str] = None
period_number: Optional[int] = None
first_time: Optional[datetime] = None
manufacturer: Optional[str] = None
point_code: Optional[str] = None
class CheckpointWithSection(BaseModel):
"""观测点响应(包含断面信息)"""
id: int
point_id: Optional[str] = None
section_id: str
name: str
burial_date: Optional[datetime] = None
objstate: Optional[str] = None
monitoring_type: Optional[str] = None
period_number: Optional[int] = None
first_time: Optional[datetime] = None
manufacturer: Optional[str] = None
point_code: Optional[str] = None
# 断面信息
section_mileage: Optional[str] = None
rock_mass_classification: Optional[str] = None
class CheckpointBatchImport(BaseModel):
"""观测点批量导入"""
account_id: int
data: List[CheckpointCreate]
class CheckpointQuery(BaseModel):
"""观测点查询参数"""
account_id: int
department_id: Optional[str] = None
section_id: Optional[str] = None
point_id: Optional[str] = None
name: Optional[str] = None
page: int = 1
page_size: int = 20