40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from pydantic import BaseModel, Field, ConfigDict
|
|
from typing import Optional, List, Any
|
|
from datetime import datetime
|
|
|
|
class LevelDataBase(BaseModel):
|
|
"""水准数据基础模型"""
|
|
linecode: Optional[str] = None
|
|
benchmarkids: Optional[str] = None
|
|
wsphigh: Optional[str] = None
|
|
NYID: Optional[str] = None
|
|
mtype: Optional[str] = None
|
|
wspversion: Optional[str] = None
|
|
barometric: Optional[str] = None
|
|
equipbrand: Optional[str] = None
|
|
instrumodel: Optional[str] = None
|
|
serialnum: Optional[str] = None
|
|
sjname: Optional[str] = None
|
|
temperature: Optional[str] = None
|
|
weather: Optional[str] = None
|
|
|
|
class LevelDataResponse(LevelDataBase):
|
|
"""水准数据响应模型"""
|
|
id: int
|
|
createDate: Optional[datetime] = None
|
|
|
|
model_config = ConfigDict(
|
|
from_attributes=True
|
|
)
|
|
|
|
class LevelDataRequest(BaseModel):
|
|
"""水准数据请求模型"""
|
|
project_name: str = Field(..., description="标段名称")
|
|
nyid_max: Optional[bool] = Field(False, description="是否只获取最新期数的水准数据")
|
|
|
|
class LevelDataListResponse(BaseModel):
|
|
"""水准数据列表响应格式"""
|
|
code: int = 0
|
|
message: str
|
|
total: int
|
|
data: List[LevelDataResponse] = [] |