You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

96 lines
5.0 KiB

from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel
from typing import List, Optional
from module_admin.annotation.pydantic_annotation import as_query
class DataAssetItemModel(BaseModel):
"""
数据资产信息项模型
"""
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True, from_attributes=True)
ast_no: int = Field(default=None, alias="astNo", description='数据资产编号(必填)')
data_ast_eng_name: str = Field(default=None, alias="dataAstEngName", description='数据资产英文名称(必填)')
data_ast_cn_name: str = Field(default=None, alias="dataAstCnName", description='数据资产中文名称')
data_ast_type: str = Field(default=None, alias="dataAstType", description='数据资产类型(表/报表/数据应用)(必填)')
data_ast_stat: str = Field(default=None, alias="dataAstStat", description='数据资产状态(有效/废弃)(必填)')
data_ast_desc: str = Field(default=None, alias="dataAstDesc", description='数据资产描述')
data_ast_screen: str = Field(default=None, alias="dataAstScreen", description='资产应用场景(API/智能问答等)')
data_ast_scren_clas: str = Field(default=None, alias="dataAstScrenClas", description='应用场景分类')
data_ast_clas: str = Field(default=None, alias="dataAstClas", description='数据资产标签')
data_ast_cont: str = Field(default=None, alias="dataAstCont", description='数据资产内容')
data_ast_faq: str = Field(default=None, alias="dataAstFaq", description='数据资产常见问题')
data_ast_src: str = Field(default=None, alias="dataAstSrc", description='数据资产来源(必填)')
version_no: str = Field(default="1", alias="versionNo", description='版本号(默认最新)')
ctrl_flag: str = Field(default=None, alias="ctrlFlag", description='操作类型 1:插入 2:删除 3:更新')
class DataAssetBatchModel(BaseModel):
"""
数据资产批量操作模型
"""
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True, from_attributes=True)
data_assets: List[DataAssetItemModel] = Field(default=[], alias="dataAssets", description='数据资产列表')
class DataAssetResultModel(BaseModel):
"""
数据资产操作结果模型
"""
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True, from_attributes=True)
success_count: int = Field(default=0, alias="successCount", description='成功数量')
failed_count: int = Field(default=0, alias="failedCount", description='失败数量')
success_items: List[str] = Field(default=[], alias="successItems", description='成功项')
failed_items: List[dict] = Field(default=[], alias="failedItems", description='失败项及原因')
class DataAssetQueryModel(BaseModel):
"""
数据资产查询模型
"""
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True, from_attributes=True)
ast_no: Optional[str] = Field(default=None, alias="astNo", description='资产编号')
data_ast_eng_name: Optional[str] = Field(default=None, alias="dataAstEngName", description='资产英文名称')
data_ast_cn_name: Optional[str] = Field(default=None, alias="dataAstCnName", description='资产中文名称')
data_ast_type: Optional[str] = Field(default=None, alias="dataAstType", description='资产类型')
data_ast_stat: Optional[str] = Field(default=None, alias="dataAstStat", description='资产状态')
data_ast_src: Optional[str] = Field(default=None, alias="dataAstSrc", description='资产来源')
begin_time: Optional[str] = Field(default=None, alias="beginTime", description='开始时间')
end_time: Optional[str] = Field(default=None, alias="endTime", description='结束时间')
@as_query
class DataAssetPageQueryModel(DataAssetQueryModel):
"""
数据资产分页查询模型
"""
page_num: int = Field(default=1, alias="pageNum", description='当前页码')
page_size: int = Field(default=10, alias="pageSize", description='每页记录数')
@as_query
class DataAssetSearchModel(BaseModel):
"""
数据资产综合查询模型
"""
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True, from_attributes=True)
name: Optional[str] = Field(default=None, alias="name", description='资产名称(英文名或中文名)')
data_ast_type: Optional[str] = Field(default=None, alias="dataAstType", description='资产类型')
data_ast_screen: Optional[str] = Field(default=None, alias="dataAstScreen", description='资产应用场景')
data_ast_clas: Optional[str] = Field(default=None, alias="dataAstClas", description='资产标签')
data_ast_src: Optional[str] = Field(default=None, alias="dataAstSrc", description='资产来源')
page_num: int = Field(default=1, alias="pageNum", description='当前页码')
page_size: int = Field(default=10, alias="pageSize", description='每页记录数')