Files
leaudit-platform-backend/fastapi_modules/fastapi_leaudit/controllers/documentController.py
T
2026-04-28 16:53:16 +08:00

46 lines
2.0 KiB
Python

"""文档控制器。"""
from fastapi import File, Form, UploadFile
from fastapi_common.fastapi_common_web.controller import BaseController
from fastapi_common.fastapi_common_web.domain.responses import Result
from fastapi_modules.fastapi_leaudit.domian.vo.documentVo import DocumentUploadVO
from fastapi_modules.fastapi_leaudit.services import IDocumentService
from fastapi_modules.fastapi_leaudit.services.impl.documentServiceImpl import DocumentServiceImpl
class DocumentController(BaseController):
"""文档控制器。"""
def __init__(self):
super().__init__(prefix="", tags=["文档"])
self.DocumentService: IDocumentService = DocumentServiceImpl()
@self.router.post("/upload", response_model=Result[DocumentUploadVO])
async def UploadDocument(
file: UploadFile = File(..., description="上传文档"),
typeId: int | None = Form(None, description="文档类型ID"),
typeCode: str | None = Form(None, description="文档类型编码"),
bizDocumentId: int | None = Form(None, description="业务文档ID"),
region: str = Form("default", description="所属地区"),
fileRole: str = Form("primary", description="文件角色"),
createdBy: int | None = Form(None, description="上传用户ID"),
autoRun: bool = Form(False, description="是否上传后自动触发评查"),
):
"""上传文档并建立评查输入。"""
Content = await file.read()
Data = await self.DocumentService.Upload(
FileName=file.filename or "upload.bin",
FileContent=Content,
ContentType=file.content_type,
TypeId=typeId,
TypeCode=typeCode,
BizDocumentId=bizDocumentId,
Region=region,
FileRole=fileRole,
CreatedBy=createdBy,
AutoRun=autoRun,
)
return Result.success(data=Data)