铁科院功能模块

This commit is contained in:
lhx
2025-12-23 16:55:39 +08:00
parent 17feb136de
commit c1a73d9928
5 changed files with 274 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
from pydantic import BaseModel, ConfigDict
from typing import Optional, List, Any
class FunctionListBase(BaseModel):
"""功能基础模型"""
function_name: str
description: Optional[str] = None
class FunctionListCreate(FunctionListBase):
"""创建功能请求"""
pass
class FunctionListUpdate(BaseModel):
"""更新功能请求"""
function_name: Optional[str] = None
description: Optional[str] = None
class FunctionListResponse(FunctionListBase):
"""功能响应模型"""
id: int
model_config = ConfigDict(from_attributes=True)
@classmethod
def from_orm_function(cls, func):
"""从ORM对象创建响应对象"""
return cls(
id=func.id,
function_name=func.function_name,
description=func.description
)
class FunctionListRequest(BaseModel):
"""列表查询请求"""
skip: Optional[int] = 0
limit: Optional[int] = 100
class FunctionGetRequest(BaseModel):
"""条件查询请求"""
id: Optional[int] = None
function_name: Optional[str] = None
class FunctionUpdateRequest(BaseModel):
"""更新请求"""
id: int
function_data: FunctionListUpdate
class FunctionDeleteRequest(BaseModel):
"""删除请求"""
id: int
# 统一响应格式
class FunctionApiResponse(BaseModel):
"""功能API统一响应格式"""
code: int = 0
message: str
data: Optional[Any] = None
class FunctionListApiResponse(BaseModel):
"""功能列表响应格式"""
code: int = 0
message: str
total: int
data: List[FunctionListResponse] = []