"""文档服务接口。""" from abc import ABC, abstractmethod from fastapi_modules.fastapi_leaudit.domian.vo.documentVo import DocumentListPageVO, DocumentTypeItemVO, DocumentUploadVO class IDocumentService(ABC): """文档服务接口。""" @abstractmethod async def Upload( self, FileName: str, FileContent: bytes, ContentType: str | None, TypeId: int | None = None, TypeCode: str | None = None, Region: str = "default", FileRole: str = "primary", CreatedBy: int | None = None, AutoRun: bool = False, Speed: str = "normal", ) -> DocumentUploadVO: """上传文档并建立 LeAudit document/file 记录。""" ... @abstractmethod async def ListDocuments( self, Page: int = 1, PageSize: int = 20, Keyword: str | None = None, TypeCode: str | None = None, Region: str | None = None, ProcessingStatus: str | None = None, ResultStatus: str | None = None, UserId: int | None = None, DateFrom: str | None = None, DateTo: str | None = None, ) -> DocumentListPageVO: """获取文档列表(仅最新版本,附历史版本摘要)。""" ... @abstractmethod async def ListDocumentTypes(self, Ids: list[int] | None = None) -> list[DocumentTypeItemVO]: """获取文档类型列表。""" ...