File size: 1,022 Bytes
b4f2238 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | """当事人单条查询服务。"""
from typing import Any
from django.utils.translation import gettext_lazy as _
from apps.client.models import Client
from apps.client.services.client_internal_query_service import ClientInternalQueryService
from apps.core.exceptions import NotFoundError
class ClientGetQueryService:
def __init__(self, internal_query_service: ClientInternalQueryService | None = None) -> None:
self._internal_query_service = internal_query_service
@property
def internal_query_service(self) -> ClientInternalQueryService:
if self._internal_query_service is None:
self._internal_query_service = ClientInternalQueryService()
return self._internal_query_service
def get_client(self, *, client_id: int, user: Any | None = None) -> Client:
client = self.internal_query_service.get_client(client_id=client_id)
if not client:
raise NotFoundError(message=_("客户不存在"), code="CLIENT_NOT_FOUND")
return client
|