63 lines
1.8 KiB
Python
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
|