74 lines
3.3 KiB
Python
74 lines
3.3 KiB
Python
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class EvaluationPointGroupCreateDTO(BaseModel):
|
|
"""创建评查点分组请求。"""
|
|
|
|
name: str = Field(..., description="分组名称")
|
|
code: str = Field(..., description="分组编码")
|
|
pid: int | None = Field(None, description="父分组ID,空或 0 表示一级业务分组")
|
|
description: str | None = Field(None, description="分组描述")
|
|
document_type_id: int | None = Field(None, description="关联文档类型ID;一级通常留空仅用于兼容旧数据,二级需绑定具体文档类型")
|
|
entry_module_id: int | None = Field(None, description="关联入口模块ID;一级业务分组可绑定,允许后补")
|
|
sort_order: int = Field(0, description="排序")
|
|
is_enabled: bool = Field(True, description="是否启用")
|
|
|
|
|
|
class EvaluationPointGroupUpdateDTO(BaseModel):
|
|
"""更新评查点分组请求。"""
|
|
|
|
name: str | None = Field(None, description="分组名称")
|
|
code: str | None = Field(None, description="分组编码")
|
|
pid: int | None = Field(None, description="父分组ID,空或 0 表示一级业务分组")
|
|
description: str | None = Field(None, description="分组描述")
|
|
document_type_id: int | None = Field(None, description="关联文档类型ID;一级通常留空仅用于兼容旧数据,二级需绑定具体文档类型")
|
|
entry_module_id: int | None = Field(None, description="关联入口模块ID;一级业务分组可绑定,允许后补")
|
|
sort_order: int | None = Field(None, description="排序")
|
|
is_enabled: bool | None = Field(None, description="是否启用")
|
|
|
|
|
|
class EvaluationPointGroupRebindDTO(BaseModel):
|
|
"""文档类型分组换绑请求。"""
|
|
|
|
new_parent_id: int = Field(..., ge=1, description="新的文档类型分组ID")
|
|
|
|
|
|
class EvaluationPointGroupBatchStatusDTO(BaseModel):
|
|
"""批量更新状态请求。"""
|
|
|
|
ids: list[int] = Field(default_factory=list, description="分组ID列表")
|
|
is_enabled: bool = Field(..., description="目标启用状态")
|
|
|
|
|
|
class EvaluationPointGroupBatchDeleteDTO(BaseModel):
|
|
"""批量删除分组请求。"""
|
|
|
|
ids: list[int] = Field(default_factory=list, description="分组ID列表")
|
|
|
|
|
|
class EvaluationPointGroupBindingCreateDTO(BaseModel):
|
|
"""规则组绑定创建请求。"""
|
|
|
|
rule_set_id: int = Field(..., ge=1, description="规则集ID")
|
|
priority: int = Field(0, description="优先级")
|
|
is_active: bool = Field(True, description="是否启用")
|
|
note: str | None = Field(None, description="备注")
|
|
|
|
|
|
class EvaluationPointGroupBindingUpdateDTO(BaseModel):
|
|
"""规则组绑定更新请求。"""
|
|
|
|
priority: int | None = Field(None, description="优先级")
|
|
is_active: bool | None = Field(None, description="是否启用")
|
|
note: str | None = Field(None, description="备注")
|
|
|
|
|
|
class EvaluationPointGroupRuleDraftCreateDTO(BaseModel):
|
|
"""二级分组下新建规则 YAML 草稿请求。"""
|
|
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
yaml_text: str = Field(..., min_length=1, alias="yamlText", description="完整规则 YAML 正文")
|
|
change_note: str | None = Field(None, alias="changeNote", description="版本变更说明")
|
|
editor_user_id: int | None = Field(None, alias="editorUserId", description="编辑者用户ID")
|