feat: 完善模板对比持久化与附件版本处理
This commit is contained in:
@@ -17,6 +17,7 @@ from fastapi_modules.fastapi_leaudit.domian.Dto.crossReviewDto import (
|
||||
CrossReviewTaskQueryDTO,
|
||||
)
|
||||
from fastapi_modules.fastapi_leaudit.domian.vo.crossReviewVo import (
|
||||
CrossReviewTaskDocumentAppendVO,
|
||||
CrossReviewPendingVotesVO,
|
||||
CrossReviewPermissionVO,
|
||||
CrossReviewProposalCancelVO,
|
||||
@@ -158,6 +159,30 @@ class CrossReviewController(BaseController):
|
||||
)
|
||||
return Result.success(data=Data, message="交叉评查任务文档上传成功")
|
||||
|
||||
@self.router.post("/tasks/{TaskId}/documents/{DocumentId}/attachments", response_model=Result[CrossReviewTaskDocumentAppendVO])
|
||||
async def AppendTaskDocumentAttachments(
|
||||
TaskId: int,
|
||||
DocumentId: int,
|
||||
files: list[UploadFile] = File(..., description="附件文件列表"),
|
||||
remark: str | None = Form(None, description="本次追加附件备注"),
|
||||
payload: dict[str, Any] = Depends(verify_access_token),
|
||||
):
|
||||
"""为交叉评查任务文档追加附件,并生成同版本链新版本。"""
|
||||
if not await self._check_permission(int(payload["user_id"]), [self._PERMISSIONS["document_complete"]]):
|
||||
return JSONResponse(status_code=403, content={"code": 403, "msg": "当前用户没有交叉评查任务追加附件权限", "data": None})
|
||||
filePayloads: list[tuple[str, bytes, str | None]] = []
|
||||
for file in files:
|
||||
content = await file.read()
|
||||
filePayloads.append((file.filename or "attachment.bin", content, file.content_type))
|
||||
Data = await self.CrossReviewService.AppendTaskDocumentAttachments(
|
||||
CurrentUserId=int(payload["user_id"]),
|
||||
TaskId=TaskId,
|
||||
DocumentId=DocumentId,
|
||||
Files=filePayloads,
|
||||
Remark=remark,
|
||||
)
|
||||
return Result.success(data=Data, message="附件追加成功")
|
||||
|
||||
@self.router.post("/proposals", response_model=Result[CrossReviewProposalCreateVO])
|
||||
async def CreateProposal(
|
||||
Body: CrossReviewProposalCreateDTO,
|
||||
|
||||
Reference in New Issue
Block a user