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.
219 lines
12 KiB
219 lines
12 KiB
from datetime import datetime
|
|
from pydantic import BaseModel, ConfigDict, Field, Extra
|
|
from pydantic.alias_generators import to_camel
|
|
from pydantic_validation_decorator import NotBlank, Size
|
|
from typing import Literal, Optional, List, Dict, Any
|
|
from module_admin.annotation.pydantic_annotation import as_query
|
|
|
|
|
|
class DataCatalogRequest(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True, from_attributes=True)
|
|
|
|
content_onum: Optional[int] = Field(default=None, alias="contentOnum", description='目录序号')
|
|
content_name: Optional[str] = Field(default=None, alias="contentName", description='目录名称')
|
|
content_stat: Optional[str] = Field(default=None, alias="contentStat", description='目录状态')
|
|
content_intr: Optional[str] = Field(default=None, alias="contentIntr", description='目录简介')
|
|
content_pic: Optional[str] = Field(default=None, alias="contentPic", description='目录负责人')
|
|
supr_content_onum: Optional[int] = Field(default=None, alias="suprContentOnum", description='上级目录序号')
|
|
leaf_node_flag: Optional[int] = Field(default=None, alias="leafNodeFlag", description='叶子结点标志(自动计算)')
|
|
upd_prsn: Optional[str] = Field(default=None, alias="updPrsn", description='更新人员(必填)')
|
|
upd_time: Optional[datetime] = Field(default=None, alias="updTime", description='更新时间')
|
|
|
|
# 校验逻辑保持不变
|
|
@NotBlank(field_name='content_name', message='目录名称不能为空')
|
|
@Size(field_name='content_name', min_length=0, max_length=255, message='目录名称长度不能超过255个字符')
|
|
@NotBlank(field_name='upd_prsn', message='更新人员不能为空')
|
|
@Size(field_name='upd_prsn', min_length=0, max_length=255, message='更新人员长度不能超过255个字符')
|
|
@NotBlank(field_name='content_stat', message='目录状态不能为空')
|
|
@Size(field_name='content_stat', min_length=0, max_length=255)
|
|
def validate_fields(self):
|
|
pass
|
|
|
|
|
|
class DataCatalogResponse(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
|
|
|
|
content_onum: Optional[int] = Field(default=None,alias="contentOnum", description='目录ID')
|
|
content_name: Optional[str] = Field(default=None,alias="contentName", description='目录名称')
|
|
content_stat: Optional[str] = Field(default=None,alias="contentStat", description='目录状态')
|
|
content_intr: Optional[str] = Field(default=None,alias="contentIntr", description='目录简介')
|
|
content_pic: Optional[str] = Field(default=None,alias="contentPic", description='目录负责人')
|
|
supr_content_onum: Optional[int] = Field(default=None,alias="suprContentOnum", description='上级目录序号')
|
|
leaf_node_flag: Optional[int] = Field(default=None,alias="leafNodeFlag", description='叶子结点标志')
|
|
upd_prsn: Optional[str] = Field(default=None,alias="updPrsn", description='更新人员')
|
|
upd_time: Optional[datetime] = Field(default=None,alias="updTime", description='更新时间')
|
|
|
|
class DataCatalogQueryModel(DataCatalogRequest):
|
|
"""
|
|
目录管理不分页查询模型
|
|
"""
|
|
|
|
begin_time: Optional[str] = Field(default=None, description='开始时间')
|
|
end_time: Optional[str] = Field(default=None, description='结束时间')
|
|
|
|
@as_query
|
|
class DataCatalogPageQueryModel(DataCatalogQueryModel):
|
|
"""
|
|
目录管理分页查询模型
|
|
"""
|
|
|
|
page_num: int = Field(default=1, description='当前页码')
|
|
page_size: int = Field(default=10, description='每页记录数')
|
|
|
|
|
|
class DeleteDataCatalogModel(BaseModel):
|
|
"""
|
|
删除目录模型
|
|
"""
|
|
|
|
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True)
|
|
|
|
content_onums: str = Field(alias="contentOnums", description='需要删除的目录ID')
|
|
|
|
|
|
|
|
class DataCatalogChild(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
|
|
|
|
rela_onum: Optional[int] = Field(default=None, alias="relaOnum", description='目录关系序号')
|
|
content_onum: Optional[int] = Field(default=None, alias="contentOnum", description='目录序号')
|
|
ast_onum: Optional[int] = Field(default=None, alias="astOnum", description='资产序号')
|
|
rela_type: Optional[str] = Field(default="归属关系", alias="relaType", description='关系类型')
|
|
rela_eff_begn_date: Optional[datetime] = Field(default=None, alias="relaEffBegnDate", description='关系有效起始日期')
|
|
rela_eff_end_date: Optional[datetime] = Field(default=None, alias="relaEffEndDate", description='关系有效终止日期')
|
|
upd_prsn: Optional[str] = Field(default=None, alias="updPrsn", description='更新人员')
|
|
rela_status: Optional[str] = Field(default=None, alias="relaStatus", description='关系状态')
|
|
|
|
class DataCatalogResponseWithChildren(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
|
|
|
|
content_onum: Optional[int] = Field(default=None, alias="contentOnum", description='目录ID')
|
|
content_name: Optional[str] = Field(default=None, alias="contentName", description='目录名称')
|
|
content_stat: Optional[str] = Field(default=None, alias="contentStat", description='目录状态')
|
|
content_intr: Optional[str] = Field(default=None, alias="contentIntr", description='目录简介')
|
|
content_pic: Optional[str] = Field(default=None, alias="contentPic", description='目录负责人')
|
|
supr_content_onum: Optional[int] = Field(default=None, alias="suprContentOnum", description='上级目录序号')
|
|
leaf_node_flag: Optional[int] = Field(default=None, alias="leafNodeFlag", description='叶子结点标志')
|
|
upd_prsn: Optional[str] = Field(default=None, alias="updPrsn", description='更新人员')
|
|
upd_time: Optional[datetime] = Field(default=None, alias="updTime", description='更新时间')
|
|
children: List[DataCatalogChild] = Field(default_factory=list, description='子关系列表')
|
|
|
|
|
|
# 数据资产树模型
|
|
|
|
class DataAssetCatalogTreeNode(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
|
|
|
|
data_ast_eng_name: Optional[str] = Field(default=None, alias="dataAssetCatalogNo", description='数据资产序号')
|
|
data_ast_cn_name: Optional[str] = Field(default=None, alias="dataAssetCatalogName", description='数据资产名称')
|
|
ast_no: Optional[int] = Field(default=None, alias="dataAssetCatalogAstno", description='资产编号')
|
|
children: List['DataAssetCatalogTreeNode'] = Field(default_factory=list, description='子节点列表')
|
|
|
|
|
|
class DataAssetCatalogTreeResponse(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
|
|
|
|
data_ast_src: Optional[str] = Field(default=None, alias="dataAssetSysName", description='数据资产系统名称')
|
|
children: List[DataAssetCatalogTreeNode] = Field(default_factory=list, description='子节点列表')
|
|
|
|
|
|
class DataCatalogMovedRequest(BaseModel):
|
|
model_config = ConfigDict(
|
|
alias_generator=to_camel,
|
|
populate_by_name=True,
|
|
extra='ignore', # 使用字符串形式替代Extra.ignore
|
|
from_attributes=True
|
|
)
|
|
|
|
content_onum: Optional[int] = Field(default=None, alias="contentOnum", description='移动前的目录序号')
|
|
supr_content_onum: Optional[int] = Field(default=None, alias="suprContentOnum", description='移动前的上级目录序号')
|
|
supr_content_onum_after: Optional[int] = Field(default=None, alias="suprContentOnumAfter", description='移动后的上级目录序号')
|
|
|
|
class DataCatalogMergeRequest(BaseModel):
|
|
model_config = ConfigDict(
|
|
alias_generator=to_camel,
|
|
populate_by_name=True,
|
|
extra='ignore',
|
|
from_attributes=True
|
|
)
|
|
|
|
content_onum: Optional[int] = Field(default=None, alias="contentOnum", description='移动前的目录序号')
|
|
supr_content_onum: Optional[int] = Field(default=None, alias="suprContentOnum", description='移动前的上级目录序号')
|
|
content_onum_after: Optional[int] = Field(default=None, alias="contentOnumAfter", description='合并前的上级目录序号')
|
|
supr_content_onum_after: Optional[int] = Field(default=None, alias="suprContentOnumAfter", description='合并后的上级目录序号')
|
|
|
|
class DataCatalogMoverelRequest(BaseModel):
|
|
model_config = ConfigDict(
|
|
alias_generator=to_camel,
|
|
populate_by_name=True,
|
|
extra='ignore',
|
|
from_attributes=True
|
|
)
|
|
|
|
rela_onum: Optional[int] = Field(default=None, alias="relaOnum", description='关系序号')
|
|
content_onum: Optional[int] = Field(default=None, alias="contentOnum", description='目录序号')
|
|
content_onum_after: Optional[int] = Field(default=None, alias="contentOnumAfter", description='移动后的目录序号')
|
|
|
|
|
|
|
|
class DataCatalogMoverelRequest(BaseModel):
|
|
model_config = ConfigDict(
|
|
alias_generator=to_camel,
|
|
populate_by_name=True,
|
|
extra='ignore',
|
|
from_attributes=True
|
|
)
|
|
|
|
rela_onum: Optional[int] = Field(default=None, alias="relaOnum", description='关系序号')
|
|
content_onum: Optional[int] = Field(default=None, alias="contentOnum", description='目录序号')
|
|
content_onum_after: Optional[int] = Field(default=None, alias="contentOnumAfter", description='移动后的目录序号')
|
|
upd_prsn: Optional[str] = Field(default=None, alias="updPrsn", description='更新人员')
|
|
|
|
|
|
class DataAstBookmarkRelaRequest(BaseModel):
|
|
model_config = ConfigDict(
|
|
alias_generator=to_camel,
|
|
populate_by_name=True,
|
|
extra='ignore',
|
|
from_attributes=True
|
|
)
|
|
|
|
rela_onum: Optional[int] = Field(default=None, alias="relaOnum", description='唯一关系序号')
|
|
user_id: Optional[str] = Field(default=None, alias="userId", description='用户ID')
|
|
data_ast_no: Optional[str] = Field(default=None, alias="dataAstNo", description='数据资产编号')
|
|
bookmark_orde: Optional[int] = Field(default=0, alias="bookmarkOrde", description='收藏顺序')
|
|
bookmark_time: Optional[datetime] = Field(default_factory=datetime.now, alias="bookmarkTime", description='收藏时间')
|
|
content_onum: Optional[int] = Field(default=None, alias="contentOnum", description='目录序号')
|
|
rela_type: Optional[str] = Field(default="归属关系", alias="relaType", description='关系类型')
|
|
rela_eff_begn_date: Optional[datetime] = Field(default=None, alias="relaEffBegnDate", description='关系有效起始日期')
|
|
rela_eff_end_date: Optional[datetime] = Field(default=None, alias="relaEffEndDate", description='关系有效终止日期')
|
|
|
|
|
|
|
|
class DataAstIndxRequest(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='资产编号')
|
|
indx_no: Optional[str] = Field(default=None, alias="indxNo", description='指标编号')
|
|
indx_name: Optional[str] = Field(default=None, alias="indxName", description='指标名称')
|
|
indx_val: Optional[float] = Field(default=None, alias="indxVal", description='指标值')
|
|
|
|
class DataAstIndxResponse(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
|
|
|
|
ast_no: Optional[str] = Field(default=None, alias="astNo", description='资产编号')
|
|
indx_no: Optional[str] = Field(default=None, alias="indxNo", description='指标编号')
|
|
indx_name: Optional[str] = Field(default=None, alias="indxName", description='指标名称')
|
|
indx_val: Optional[float] = Field(default=None, alias="indxVal", description='指标值')
|
|
|
|
class DataAstSecuRequest(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True, from_attributes=True)
|
|
|
|
data_ast_src: Optional[str] = Field(default=None, alias="dataAstSrc", description='数据源连接')
|
|
data_ast_eng_name: Optional[str] = Field(default=None, alias="dataAstEngName", description='表英文名')
|
|
|
|
class DataAstSecuResponse(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True, from_attributes=True)
|
|
|
|
data_ast_src: Optional[str] = Field(default=None, alias="dataAstSrc", description='数据源连接')
|
|
data_ast_eng_name: Optional[str] = Field(default=None, alias="dataAstEngName", description='表英文名')
|