Files
railway_cloud/app/schemas/level_data.py
2026-01-07 10:43:43 +08:00

54 lines
1.6 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] = []
class BatchDeleteByLinecodesRequest(BaseModel):
"""批量删除请求模型"""
linecodes: List[str] = Field(..., description="水准线路编码列表")
class BatchDeleteByLinecodesResponse(BaseModel):
"""批量删除响应模型"""
code: int = 0
message: str
success: bool
backup_file: Optional[str] = None
deleted_counts: Optional[dict] = None