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] = []