feat: migrate cross review to v3 leaudit flow
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
"""交叉评查服务接口。"""
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
from fastapi_modules.fastapi_leaudit.domian.Dto.crossReviewDto import (
|
||||
CrossReviewProposalCreateDTO,
|
||||
CrossReviewProposalVoteDTO,
|
||||
CrossReviewTaskCreateDTO,
|
||||
CrossReviewTaskDocumentQueryDTO,
|
||||
CrossReviewTaskQueryDTO,
|
||||
)
|
||||
from fastapi_modules.fastapi_leaudit.domian.vo.crossReviewVo import (
|
||||
CrossReviewPendingVotesVO,
|
||||
CrossReviewPermissionVO,
|
||||
CrossReviewProposalCancelVO,
|
||||
CrossReviewProposalCreateVO,
|
||||
CrossReviewProposalPageVO,
|
||||
CrossReviewProposalVoteVO,
|
||||
CrossReviewTaskCompleteVO,
|
||||
CrossReviewTaskCreateVO,
|
||||
CrossReviewTaskDocumentPageVO,
|
||||
CrossReviewTaskDocumentUploadVO,
|
||||
CrossReviewTaskPageVO,
|
||||
CrossReviewTaskProgressVO,
|
||||
)
|
||||
|
||||
|
||||
class ICrossReviewService(ABC):
|
||||
"""交叉评查服务接口。"""
|
||||
|
||||
@abstractmethod
|
||||
async def CreateTask(self, CurrentUserId: int, Body: CrossReviewTaskCreateDTO) -> CrossReviewTaskCreateVO:
|
||||
"""创建交叉评查任务。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetUserTasks(self, CurrentUserId: int, Body: CrossReviewTaskQueryDTO) -> CrossReviewTaskPageVO:
|
||||
"""查询当前用户参与的交叉评查任务。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetTaskProgress(self, CurrentUserId: int, TaskId: int) -> CrossReviewTaskProgressVO:
|
||||
"""查询任务进度。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetTaskDocuments(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
TaskId: int,
|
||||
Body: CrossReviewTaskDocumentQueryDTO,
|
||||
) -> CrossReviewTaskDocumentPageVO:
|
||||
"""查询任务文档列表。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def CanConfirmTaskDocument(self, CurrentUserId: int, TaskId: int) -> CrossReviewPermissionVO:
|
||||
"""判断当前用户是否有权确认任务文档完成。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def CompleteTaskDocument(self, CurrentUserId: int, TaskId: int, DocumentId: int) -> CrossReviewTaskCompleteVO:
|
||||
"""确认任务文档完成。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def CreateProposal(self, CurrentUserId: int, Body: CrossReviewProposalCreateDTO) -> CrossReviewProposalCreateVO:
|
||||
"""创建交叉评查提案。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def VoteProposal(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
ProposalId: int,
|
||||
Body: CrossReviewProposalVoteDTO,
|
||||
) -> CrossReviewProposalVoteVO:
|
||||
"""对交叉评查提案投票。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def CancelProposal(self, CurrentUserId: int, ProposalId: int) -> CrossReviewProposalCancelVO:
|
||||
"""撤销交叉评查提案。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetDocumentProposals(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
DocumentId: int,
|
||||
Page: int,
|
||||
PageSize: int,
|
||||
) -> CrossReviewProposalPageVO:
|
||||
"""获取文档提案列表。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetDocumentPendingVotes(self, CurrentUserId: int, DocumentId: int) -> CrossReviewPendingVotesVO:
|
||||
"""获取文档待投票信息。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def UploadTaskDocument(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
TaskId: int,
|
||||
FileName: str,
|
||||
FileContent: bytes,
|
||||
ContentType: str | None,
|
||||
) -> CrossReviewTaskDocumentUploadVO:
|
||||
"""向交叉评查任务补传文档。"""
|
||||
...
|
||||
Reference in New Issue
Block a user