Files
leaudit-platform-backend/fastapi_modules/fastapi_leaudit/services/evaluationPointGroupService.py
T
2026-05-25 09:50:01 +08:00

114 lines
3.7 KiB
Python
Executable File

from abc import ABC, abstractmethod
from fastapi_modules.fastapi_leaudit.domian.Dto.evaluationPointGroupDto import (
EvaluationPointGroupBatchDeleteDTO,
EvaluationPointGroupBatchStatusDTO,
EvaluationPointGroupBindingCreateDTO,
EvaluationPointGroupBindingUpdateDTO,
EvaluationPointGroupCreateDTO,
EvaluationPointGroupRuleDraftCreateDTO,
EvaluationPointGroupRebindDTO,
EvaluationPointGroupUpdateDTO,
)
from fastapi_modules.fastapi_leaudit.domian.vo.evaluationPointGroupVo import (
EvaluationPointGroupBatchDeleteVO,
EvaluationPointGroupBatchStatusVO,
EvaluationPointGroupDeleteVO,
EvaluationPointGroupListVO,
EvaluationPointGroupRuleDraftVO,
EvaluationPointGroupRuleTemplateVO,
EvaluationPointGroupRebindVO,
EvaluationPointGroupVO,
RuleGroupBindingVO,
)
class IEvaluationPointGroupService(ABC):
"""评查点分组服务接口。"""
@abstractmethod
async def ListGroups(
self,
Name: str | None,
Code: str | None,
IsEnabled: bool | None,
Pid: int | None,
Page: int,
PageSize: int,
CurrentUserId: int,
EntryModuleId: int | None = None,
) -> EvaluationPointGroupListVO:
...
@abstractmethod
async def ListAllGroups(
self,
IncludeDisabled: bool,
WithRuleCount: bool,
CurrentUserId: int,
EntryModuleId: int | None = None,
) -> list[EvaluationPointGroupVO]:
...
@abstractmethod
async def ListGroupsByDocumentTypes(
self,
DocumentTypeIds: list[int],
IncludeDisabled: bool,
WithRuleCount: bool,
CurrentUserId: int,
) -> list[EvaluationPointGroupVO]:
...
@abstractmethod
async def GetGroup(self, GroupId: int, WithRuleCount: bool, CurrentUserId: int) -> EvaluationPointGroupVO:
...
@abstractmethod
async def GetChildren(self, GroupId: int, IsEnabled: bool | None, Page: int, PageSize: int, CurrentUserId: int) -> EvaluationPointGroupListVO:
...
@abstractmethod
async def CreateGroup(self, Body: EvaluationPointGroupCreateDTO, CurrentUserId: int) -> EvaluationPointGroupVO:
...
@abstractmethod
async def UpdateGroup(self, GroupId: int, Body: EvaluationPointGroupUpdateDTO, CurrentUserId: int) -> EvaluationPointGroupVO:
...
@abstractmethod
async def DeleteGroup(self, GroupId: int, CurrentUserId: int) -> EvaluationPointGroupDeleteVO:
...
@abstractmethod
async def RebindGroup(self, GroupId: int, Body: EvaluationPointGroupRebindDTO, CurrentUserId: int) -> EvaluationPointGroupRebindVO:
...
@abstractmethod
async def BatchUpdateStatus(self, Body: EvaluationPointGroupBatchStatusDTO, CurrentUserId: int) -> EvaluationPointGroupBatchStatusVO:
...
@abstractmethod
async def BatchDelete(self, Body: EvaluationPointGroupBatchDeleteDTO, CurrentUserId: int) -> EvaluationPointGroupBatchDeleteVO:
...
@abstractmethod
async def CreateBinding(self, GroupId: int, Body: EvaluationPointGroupBindingCreateDTO, CurrentUserId: int) -> RuleGroupBindingVO:
...
@abstractmethod
async def UpdateBinding(self, BindingId: int, Body: EvaluationPointGroupBindingUpdateDTO, CurrentUserId: int) -> RuleGroupBindingVO:
...
@abstractmethod
async def DeleteBinding(self, BindingId: int, CurrentUserId: int) -> None:
...
@abstractmethod
async def GetRuleTemplate(self, GroupId: int, CurrentUserId: int) -> EvaluationPointGroupRuleTemplateVO:
...
@abstractmethod
async def CreateRuleDraft(self, GroupId: int, Body: EvaluationPointGroupRuleDraftCreateDTO, CurrentUserId: int) -> EvaluationPointGroupRuleDraftVO:
...