diff --git a/fastapi_modules/fastapi_leaudit/domian/vo/ruleVo.py b/fastapi_modules/fastapi_leaudit/domian/vo/ruleVo.py index d274661..0501931 100644 --- a/fastapi_modules/fastapi_leaudit/domian/vo/ruleVo.py +++ b/fastapi_modules/fastapi_leaudit/domian/vo/ruleVo.py @@ -24,3 +24,41 @@ class RuleVersionVO(BaseModel): ossUrl: str = Field(..., description="YAML 文件 OSS 地址") changeNote: str | None = Field(None, description="变更说明") publishedAt: str | None = Field(None, description="发布时间") + + +class RuleContentVO(BaseModel): + """规则版本正文响应。""" + + id: int = Field(..., description="版本ID") + ruleSetId: int = Field(..., description="所属规则集ID") + ruleType: str = Field(..., description="规则类型编码") + versionNo: str = Field(..., description="版本号") + yamlText: str = Field(..., description="YAML 正文") + ossUrl: str = Field(..., description="YAML 文件 OSS 地址") + + +class RuleValidationVO(BaseModel): + """规则 YAML 校验响应。""" + + valid: bool = Field(..., description="是否校验通过") + ruleType: str | None = Field(None, description="规则类型编码") + ruleName: str | None = Field(None, description="规则名称") + versionNo: str | None = Field(None, description="规则版本号") + ruleCount: int = Field(0, description="规则总数") + extractCount: int = Field(0, description="抽取字段总数") + errors: list[str] = Field(default_factory=list, description="错误信息列表") + + +class RuleBindingVO(BaseModel): + """规则类型绑定响应。""" + + id: int = Field(..., description="绑定ID") + docTypeId: int = Field(..., description="文档类型ID") + docTypeCode: str | None = Field(None, description="文档类型编码") + ruleSetId: int = Field(..., description="规则集ID") + ruleType: str | None = Field(None, description="规则类型编码(来自关联查询)") + ruleName: str | None = Field(None, description="规则集名称(来自关联查询)") + bindingMode: str = Field(..., description="绑定模式: explicit / wildcard / fallback") + priority: int = Field(0, description="优先级") + isActive: bool = Field(True, description="是否激活") + note: str | None = Field(None, description="备注说明")